今天在上课的时候,学到了一个很有意思的猜数字游戏,那当然就是由计算机随机生成一个数字,然后由你来猜这个数字是几啦,以下是代码
void game()
{
int r = rand() % 100 + 1; //数字范围为1~100
int guess = 0;
while (1) //一直循环
{
printf("请猜数字:");
scanf("%d", &guess);
if (guess > r)
{
printf("猜大了\n");
}
else if (guess < r)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break; //跳出循环
}
}
}
int main()
{
int input;
srand((unsigned int)time(NULL));
do
{ //游戏菜单
printf("***************\n");
printf("****1.play*****\n");
printf("****0.exit*****\n");
printf("***************\n");
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新输入\n");
break;
}
} while (input);
return 0;
}
代码思路呢其实挺简单的,首先,进入程序之后会显示游戏的菜单,那么就要使用do....while循环了,先打印出游戏的菜单,输入1进入游戏,输入0退出游戏,如果输入数字1之后就会进入游戏了 ,在游戏代码里我们需要猜数字
首先我们得先有数字,那么就用rand()函数生成随机值(在代码中我设置了数字范围1~100),使用rand()生成随机变量,那当然得有种子了,需要使用srand((unsigned int)time(NULL)),这样rand函数就可以生成随机值了,其次我们得输入数字,利用scanf函数输入数字,如果我输入的数字大于随机值,就会提示我们“猜大了”,如果小于随机值,就会提示我们“猜小了”,如果等于随机值,那当然是“猜对啦”。这是在游戏内,也就是输入1的情况
如果输入0,那当然就直接退出游戏啦,直接break跳出程序
如果输入的既不是0又不是1,那就是输入错误了,重新输入
最后da....while循环会一直循环游戏,知道输入0会停止。