//电脑生成一个随机数.
//猜数字.
1.在主函数中,因为一个游戏正常都是:开始游戏且游戏结束后会问我们是否还要继续游戏.所以这个游戏它至少要进行一次,所以我们使用do while 函数
先遇到菜单,
所以要自己建一个菜单函数:void menu();
2.在进入菜单函数后,我们要选择是否开始游戏.我们让输入1为开始游戏,输入0为结束游戏.因为玩家可能输入其他的值,所以我们可以用default函数退出,因此此处我们可以用swtich case语句.
后面while(input)进行循环,如果输入的是1或者非0的数字,则循环继续,如果输入的是0,则循环停止.
3.在case 1:中我们加入game()函数.
4.game函数需要我们开始是随机数,这样才可以让我们猜下去.
所以我们用rand()函数.
并且开始的数字我们也需要是随机数,要不然每一次结束游戏后开始的数字都是一样,那么这个游戏便太容易通关,所以我们要用srand()函数.
又因为srand()函数括号内加入的是整数,如果我们用srand(1)或者其他的整数放在里面的话,每次进行游戏时开始都是41,其次后面的数字都是一样的,所以我们要让它也随机起来,我们用时间戳来当整数.
#include<stdio.h>
void menu() {
printf("***********************************\n");
printf("*** 1>:开始游戏 0>:结束游戏 ***\n");
printf("***********************************\n");
}
void game() {
int ret = 0;//生成随机数字
int guess = 0;//定义猜的数字
ret = rand() % 100 + 1;
while (1) {
printf("请猜数字:>");
scanf_s("%d", &guess);
if(ret > guess){
printf("猜的数字小了\n");
}
else if (ret < guess) {
printf("猜的数字大了\n");
}
else {
printf("猜对了\n");
break;
}
}
}
int main() {
int input;
srand((unsigned int)time(NULL));
do {
menu();
printf("请选择>:");
scanf_s("%d", &input);
switch (input) {
case 1:
game();
break;
case 0:
printf("结束游戏\n");
break;
default:
printf("输入错误\n");
break;
}
} while (input);
return 0;
}