在学习了循环语句结构之后,我们来做一个简单的猜数字游戏。
在很受欢迎的综艺快乐大本营中,有一个很好玩的游戏叫做深水炸弹,也就是
今天我们要实现的猜数字游戏。原理就是由电脑随机产生一个数字,然后由你
诉你猜大了,然后你就可以找到一个区间继续猜,以此循环,直到猜正确。
接下来就对理论进行实践。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void menu()
{
printf("*******************\n");
printf("**1.play 0.exit**\n");
printf("*******************\n");
}
void play_game()
{
int rand_num = rand() % 100;
int tmp = 0;
while (1)
{
printf("请输入你猜得的数字:");
scanf("%d", &tmp);
if (tmp == rand_num)
{
printf("恭喜你,猜对了!\n");
break;
}
else if (tmp > rand_num)
{
printf("猜大了!\n");
}
else
{
printf("猜小了!\n");
}
}
}
int main()
{
int input = 0;
srand((unsigned)time(NULL));
do
{
menu();
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:
play_game();
break;
case 0:
break;
default:
printf("选择错误。");
break;
}
} while (input);
}
在这个游戏的实现过程中,除了对循环语句结构的应用之外,还运用了一个
函数rand(),用来产生一个随机数,在使用rand()函数之前,必须要调用个
srand()函数来形成一个随机数产生器,但是在使用的过程中,srand()
函数只需要调用一次就好,调用多次可能会出现期望之外的结果。