C语言猜数字游戏
2023-12-13 13:25:38
1.完整代码如下
#include <stdio.h>
#include <stdlib.h>
int main(){
int i = 0;
srand(time(NULL));//随机数生成器
do{
menu();
printf("请选择:");
scanf("%d", &i);
getchar();//吸收掉输入缓冲区的enter,不加也没影响
switch(i){
case 0:
printf("游戏结束!");
break;
case 1:
game();
break;
default:
printf("请输入1或0!");
}
}while(i);
return 0;
}
//打印菜单
void menu(){
printf("******************************************\n");
printf("*********1.play-----0.over****************\n");
printf("******************************************\n");
return;
}
void game(){
int ret = rand()%100+1;//随机生成1~100的数字
int i = 0;
while(1){
printf("请输入猜想的数字:");
scanf("%d", &i);
getchar();
if(i>ret){
printf("猜大了!\n");
printf("请重新输入\n");
}else if(i<ret){
printf("猜小了!\n");
printf("请重新输入\n");
}else{
printf("猜对了!");
printf("数字就是%d\n", ret);
break;
}
}
return;
}
2.学习到的主要知识点
? ? ?time();此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t并非空指针的话,此函数也会将返回值存在t指针所指的内存。
? ? srand();???srand函数是随机数发生器的的初始化函数。原型:void srand(unsigned int seed);srand和rand()配合使用产生伪随机数序列。
? ? ?rand();? 返回一个随机数。
简单来说,rand()随机生成数字都是固定的,所以通过srand()改变起点值,而srand()函数通过参数的变化而使起点值变化,time()函数获取的时间值每秒都是变化的,因为时间是会一直变动的。
文章来源:https://blog.csdn.net/m0_62895806/article/details/132736457
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!