人无完人,如果我写的文章有什么疏忽、错误或者缺漏,非常欢迎各位在评论区里斧正,在此感谢您观看本篇文章!
在我眼里,c语言中的随机数不是一个重点内容,不过由于之前有用户私信我,让我列举一些随机数的用途,所以我在这里利用一个猜数字游戏,讲解以下随机数的基础内容。
1-----rand()函数
rand()函数会在初始时产生一个正的随机数。不过事实上,这并不算一个真正的随机数,而是一个随机数种子,我们想要获取真正的随机数,可以通过调用srand(time(NULL))来设置随机数种子,这样产生的随机数就是真正的随机数了。
2-----猜数字游戏的全部代码
这个代码是我在dev上打好了,复制粘贴过来的,只是我的个人想法,如果有什么建议,或者出现了什么问题,可以在评论区留言评论,我一般都会看的,谢谢。
#include<stdio.h>
#include<time.h>
int main(void){
srand(time(NULL));
//设置一个随机数种子,保证每次出现的随机数都不同
int mysrand = 1 + (rand() % 100);
//定义一个变量,并给它赋值(1到100)
int i;
//定义 i 用来获取用户输入
scanf("%d", &i);
//获取 i 的值
while( i != mysrand ){
// 只要 i 与随机数相等,就会终止循环
if( i > mysrand ){
printf("你猜的数有些大了!\n请重新输入:\n");
//提示用户
}
else{
printf("你猜的数有些小了!\n请重新输入:\n");
//提示用户
}
scanf("%d" ,&i);
//再次获取 i 的值
}
printf("你赢了!\n");
//提示用户胜利了
//放在循环外面,可以简化代码量
}
3-----添加计分的内容
由于仅仅只用上述代码写出来的游戏玩法比较单一,因此我在这里重新定义一个整型数,用来计算玩家的分数。
#include<stdio.h>
#include<time.h>
int main(void){
srand(time(NULL));
//设置一个随机数种子,保证每次出现的随机数都不同
int mysrand = 1 + (rand() % 100);
//定义一个变量,并给它赋值(1到100)
int j = 0;
//用于计分
int i;
//定义 i 用来获取用户输入
scanf("%d", &i);
j++;
//获取 i 的值
while( i != mysrand ){
// 只要 i 与随机数相等,就会终止循环
if( i > mysrand ){
printf("你猜的数有些大了!\n请重新输入:\n");
//提示用户
}
else{
printf("你猜的数有些小了!\n请重新输入:\n");
//提示用户
}
scanf("%d" ,&i);
//再次获取 i 的值
j++;
//每次用户输入,都会加一次
}
printf("你赢了!\n");
//提示用户胜利了
//放在循环外面,可以简化代码量
printf("你一共输入了%d次", j);
//将用户输入的次数打印出来
}
代码如下,这次所有的内容就是这些。感谢观看