C语言随机数生成
来源:网络收集 点击: 时间:2024-04-05我将要通过一个猜数字的程序来讲解随机数,准确的说应该是伪随机数,这是因为计算机产生的随机数都是计算所得,真正的随机数是自然生成的。
2/7随机数的生成要用到rand函数,这个函数包含在头文件stdlib.h中,每次调用rand函数都会生成一个随机数,随机数的范围在0到定义的RAND_MAX之间。rand函数通过一个种子生成随机数,种子不变生成的随机数就是一样的。鉴于这种情况,我们用另一个函数srand。
3/7srand函数可以作为参数传递特定的种子值,为了每次传不同的种子值,我们要用到time函数,time函数返回一个从1970年1月1日到现在的总秒数值。我先声明四个变量,分别存储选择,猜数,计数和随机数的最大上限。

time函数需要传递一个NULL值,通过srand(time(NULL))的方式产生随机数,chosen = 1 + rand() % limit用来选定被选中的数。具体需要循环去实现,count为循环次数,用for循环。

scanf函数获取用户输入的值,给到guess和chosen作比较,若相同则猜对,输出一条猜对的语句。

要是猜错了,会有两种可能导致猜错,一、用户输入的数字不在选择的区间之中;二、用户输入的数字和chosen中的数字不一样。第一种用逻辑或||来执行。guess 1 || guess 20,第二种直接else输出语句就可以,因为if最开始就是判断的这个问题。

程序完成之后需要运行检验,如果有错,要耐心修改,大部分错误是输入的时候没有按照C语言的标准,比如有中文字符什么的。运气不好,第一次三联错。第二次成功,多试几次你也可以的。Good Luck!!


time函数要有time.h头文件
C语言随机数版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_427691.html