Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情。
📢Hello,大家好,我是泽奀,一起学习进步(●'◡'●)
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
前言
今天开始C语言的第二十八题,距离百题还差一点😅加油🔥
题目描述
使用for循环语句显示10个随机数!打印产生随机数1
100
题目分析
****在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为:
int rand (void);那么上述程序当中需要我们生成随机数是1
100这个怎么去生成,实际上很容易。我们直到rand()生成的最大值是032768,那么在本题目当中我们需要生成1~100也就是说我们需要产生一定随机值的方法,这个时候就可以用到取模运算符。示例如下代码所示:↓
int ret = rand()%10;//随机产生0~9的数字,注意:会被十整除
**当然如果你这里取模100只是会产生0
99的数字,你必须还要+1才行这样就是1100范围之间的数字了刚好吻合题目要求。所以,在本道题目实际上就是用到取模运算符来解决这个问题。
****使用 <time.h> 头文件中的 time() 函数即可得到当前的时间(精确到秒),就像下面这样:
**srand((unsigned)time(NULL));通常只需要引用一次即可!
题目代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define NUM 10
int main(void)
{
int i = 1;
srand((unsigned)time(NULL));
for (i = 1; i <= NUM; i++)
{
int ret = rand() % 100 + 1;
printf("第%-2d次:数字-->%d\n", i, ret);
}
return 0;
}
运行结果
第1 次:数字-->13
第2 次:数字-->74
第3 次:数字-->71
第4 次:数字-->42
第5 次:数字-->23
第6 次:数字-->10
第7 次:数字-->10
第8 次:数字-->47
第9 次:数字-->11
第10次:数字-->46
最后
不知道你做的如何,实际上就是考察一个随机数的一个使用,这个在我们以后也会经常用到的。尤其是像贪吃色、俄罗斯方块、三子棋这种小游戏。rand()随机数是我们必须要回用的。