C语言生成1~100的随机数
在C语言中是如何生成1~100的随机数的呢?想必大家都想了解一下吧,那么话不多说,跟着小编一起了解一下吧。
C语言如何生成随机数
生成10个1~100的随机数
废话不多说直接上程序。
#include<stdio.h>#include<stdlib.h>#include<time.h> int main()
{int ret = 0;
srand((unsigned int)time(NULL));for(int i=0; i<10; i )
{
ret = rand()0;printf("%d ",ret);
}return 0;
}
这个程序是用来生成10个随机的数。接下来会详细说一说这个程序的构成。
随机数生成代码的分析
以上程序的关键代码是:
srand = ((unsigned)time(NULL));
ret = rand()0;
rand()函数所需头文件是
#include<stdlib.h>
rand()是生成伪随机数的函数,它会按照一定的序列来生成随机数,但是它序列是固定的:
程序每次执行它都将按照这个序列来给出随机数,所以在对rand()不加限制条件的话,生成的随机数不够随机。
time()函数所需要头的头文件是:
#include<time.h>
time()函数,值得注意的是time函数的形参,这个形参是个指针变量,通常写为time(NULL)。
这个函数的功能是,返回自1970年1月1日00:00:00到你先在电脑运行的时间(例:2018年3月24日14:14:00)之间的时间。这个数是随机的,随着你电脑运行时间而发生改变。
srand()函数所需要的头文件是:
#include<stdlib.h>
srand()函数是伪随机数发生器种子,它给rand()函数一个产生一个起点。在单独使用rand()函数的时候,它将1作为默认参数。srand()的形参是一个无符号的类型,即unsigned类型,可以是int,float,char等等。
但在这里为了达到随机数效果,将使用time()函数来产生一个起点,它直接作用于rand()函数。
注意:
ret = rand()0;
rand()0是为了产生100以内的随机数。
有趣的小程序
这是一个电脑自己猜数字的小程序。
#include<stdio.h>#include<time.h>#include<process.h>#include<stdlib.h>#include<Windows.h>int main()
{ int ret = 0; int guess = 0; int left = 0; int right = 100;
srand((unsigned int)time(NULL));
ret = rand() % 100; printf("提供的答案数是->%d\n",ret);
guess = 50; while (1)
{ if (guess > ret)
{ printf("猜大了->%d\n", guess);
right = guess;
guess = (right left) / 2;
Sleep(1000);
} else if (guess < ret)
{ printf("猜小了->%d\n", guess);
left = guess;
guess = (right left) / 2;
Sleep(1000);
} if (guess == ret)
{ printf("猜到了是%d", guess); break;
}
}
system("pause "); return 0;
}
这里使用了二分法的思想,让电脑自己去猜100以内的一个数。
使用了Sleep()函数用来延迟一下打印时间,Sleep()函数的参数的单位是ms,所以1000ms=1s。
谢谢您的阅读
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tangbicaa
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01