阿俊

00后工科男,热衷社会文化心理研究,重点大学计算机在读。

C语言小游戏——猜数——我已经想好了一个1~100之间的数,你要几次才能猜中它?

源代码:

#include <stdio.h>

#include <stdlib.h>

#include <time.h> 

int main()

{

srand(time(0));

int number=rand()%100+1;

int count = 0;

int a = 0;

printf("我已经想好了一个1到100之间的数。");

do {

printf("请猜这个1到100之间数:");

scanf("%d", &a);

if ( a > number ) {

printf("你猜的数大了。");

} else if ( a < number ) {

printf("你猜的数小了。");

}

count ++;

} while (a != number);

printf("太好了,你用了%d次就猜到了答案。\n", count);

return 0;

}

运行结果图:


附言:

如果没有第一句srand(time(0));则产生的会是伪随机数,你可以把它去掉试试。

下面科普一下srand(),rand()的运作机制:

srand((unsigned int)(time(NULL))根据每一次运行程序的时间是不同的来设置rand()产生随机数时的随机数种子。在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子(seed), 如果未设随机数种子, rand()在调用时会自动设随机数种子为1。
所以如果去掉srand()语句,相当于没有设置随机数种子,每次随机数种子都自动设成相同值1 ,导致每次rand()所产生的随机数值一样。

今天的分享就到这儿啦,感谢阅读,你也可以试试这个小游戏啊!

评论

热度(6)