c语言编码 随机信号产生,C语言中怎样生成1~100的随机数(附代码)_后端开发...

本文介绍如何使用C语言生成1至100的随机数,并通过实例程序详细解释了srand(), rand()及time()等函数的作用。此外还提供了一个电脑猜数字的小程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

d2370595c6c7d1bd63abb41e18c735ef.png

在C言语中是怎样生成1~100的随机数的呢?想必人人都想相识一下吧,那末话不多说,跟着小编一同相识一下吧。

C言语怎样生成随机数

生成10个1~100的随机数

空话不多说直接上程序。

#include#include#include int main()

{int ret = 0;

srand((unsigned int)time(NULL));for(int i=0; i<10; i++)

{

ret = rand()%100;printf("%d ",ret);

}return 0;

}

248e9e9aeeaee6f009479cb842357362.png

这个程序是用来生成10个随机的数。接下来会细致说一说这个程序的组成。

随机数生成代码的剖析

以上程序的症结代码是:

srand = ((unsigned)time(NULL));

ret = rand()%100;

rand()函数所需头文件是

#include

rand()是生成伪随机数的函数,它会根据肯定的序列来生成随机数,然则它序列是牢固的:

ce17fd2e5873dbb199c4763d349d23f9.png

程序每次实行它都将根据这个序列来给出随机数,所以在对rand()不加限定前提的话,生成的随机数不够随机。

time()函数所须要头的头文件是:

#include

time()函数,值得注重的是time函数的形参,这个形参是个指针变量,一般写为time(NULL)。

这个函数的功用是,返回自1970年1月1日00:00:00到你先在电脑运转的时刻(例:2018年3月24日14:14:00)之间的时刻。这个数是随机的,跟着你电脑运转时刻而发作转变。

srand()函数所须要的头文件是:

#include

srand()函数是伪随机数发作器种子,它给rand()函数一个发生一个出发点。在零丁运用rand()函数的时刻,它将1作为默许参数。srand()的形参是一个无标记的范例,即unsigned范例,可所以int,float,char等等。

但在这里为了到达随机数结果,将运用time()函数来发生一个出发点,它直接作用于rand()函数。

注重:

ret = rand()%100;

rand()%100是为了发生100之内的随机数。

风趣的小程序

这是一个电脑本身猜数字的小程序。

#include#include#include#include#includeint 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;

}

27057ae8f4550cfe3a02f364cc6bf006.png

这里运用了二分法的头脑,让电脑本身去猜100之内的一个数。

运用了Sleep()函数用来耽误一下打印时刻,Sleep()函数的参数的单元是ms,所以1000ms=1s。

谢谢您的浏览

本文转自:https://blog.youkuaiyun.com/H_Strong/article/details/79678269

引荐教程:《C言语》

以上就是C言语中怎样生成1~100的随机数(附代码)的细致内容,更多请关注ki4网别的相干文章!

收藏 | 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值