如何给自己网站做网站优化,迈若网站建设,怎么做一个网站平台,那些做环保网站的好处1.随机数生成
要想实现猜数字小游戏#xff0c;依赖于随机数的生成
1.1 rand()函数
这个函数是用来生成随机数的#xff0c;返回值是正整数#xff0c;他的值的范围是0到rand_max之间的#xff0c;rand_max的值在大多数编译器上面是32767#xff0c;rand()函数的使用必…1.随机数生成
要想实现猜数字小游戏依赖于随机数的生成
1.1 rand()函数
这个函数是用来生成随机数的返回值是正整数他的值的范围是0到rand_max之间的rand_max的值在大多数编译器上面是32767rand()函数的使用必须包含头文件#includestdlib.h,下面是对rand()函数的使用
#includestdio.h
#includestdlib.h
int main()
{printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());return 0;
} 程序的运行结果
第一次 第二次 我们发现无论是运行多少次生成的随机数都是一样的其实rand函数⽣成的随机数是伪随机的伪随机数不是真正 的随机数是通过某种算法⽣成的随机数。真正的随机数的是⽆法预测下⼀个值是多少的。⽽rand函 数是对⼀个叫“种⼦”的基准值进⾏运算⽣成的随机数。 之所以前⾯每次运⾏程序产⽣的随机数序列是⼀样的那是因为rand函数⽣成随机数的默认种⼦是1。 如果要⽣成不同的随机数就要让种⼦是变化的。
1.2 srand()函数
这个函数是用来生成种子的想要产生不同的的随机数就要生成不同的种子 void srand (unsigned int seed); 1.3 time
在程序中我们⼀般是使⽤程序运⾏的时间作为种⼦的因为时间时刻在发⽣变化的。 在C语⾔中有⼀个函数叫time就可以获得这个时间time函数原型如下使用时候包含头文件time.h time_t time (time_t* timer); time 函数会返回当前的⽇历时间其实返回的是1970年1⽉1⽇0时0分0秒到现在程序运⾏时间之间的 差值单位是秒。返回的类型是time_t类型的time_t类型本质上其实就是32位或者64位的整型类 型
time函数的参数timer如果是⾮NULL的指针的话函数也会将这个返回的差值放在timer指向的内存 中带回去。 如果timer是NULL就只返回这个时间的差值。time函数返回的这个时间差也被叫做时间戳。
如果只是让time函数返回时间戳我们就可以这样写 time(NULL); 下面是这个函数的使用
#includestdio.h
#includestdlib.h
#includetime.h
int main()
{srand(time(NULL));printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());return 0;
} 运行程序 可以发现前面两次的的随机数产生的不一样了
1.4 产生1到100的随机数 int rrand()%1001; 在里可能会有一个误区觉得ranf_max是32767,那么上面的就应该是1到68之间这样的理解是错误的正确的理解是先产生一个数这个数是0到32767中的任何一个比如32699这个数先取余100再加1得到100
2.猜数字游戏的实现
光是猜数字游戏可能有点枯燥在程序里面可以使用关机语句如果几次都没有猜中就让电脑关机下面提供两个语句需要包含头文件#includestdlib.h system(shutdown -s -t 60 );//60秒后关机 system(shutdown -a);//取消关机 #includestdio.h
#includestdlib.h
#includetime.h
void menu()
{printf(************************\n);printf(***** 1.play ******\n);printf(***** 0.exit ******\n);printf(************************\n);
}
void game()
{int count 0;srand(time(NULL));int number rand()%1001;int guess 0;while (1){printf(请输入数字\n);scanf(%d, guess);if (guess number){printf(猜小了\n);}else if (guess number){printf(猜大了\n);}else{printf(猜对了\n);break;}count;if (count 5)//5次都未猜中关机{system(shutdown -s -t 0);}}}
int main()
{int option 0;do{menu();printf(请输入你的选择\n);scanf(%d, option);switch (option){case 1:game();break;case 0:printf(退出成功\n);break;default:printf(无效输入\n);break;}} while (option);return 0;
}
程序的运行