猜数字游戏实现
猜数字游戏,我们让系统生成一个1-100之内的随机数 r,我们输入一个猜测值(guess),电脑会根据输入的结果(guess)与系统产生的随机数(r)比较大小,并反馈结果,通过反馈结果经行下一次猜测,知道猜到为止。
1.guess>r 反馈提示 猜大了
2.guess<r 反馈提示 猜大了
3.guess=r 反馈提示 猜大了
代码实现
在这里插入代码片#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<stdio.h>
//猜数字代码的实现
void game()
{
int r = rand() % 100 + 1;//定义一个变量接受产生的随机值
int guess = 0;
while (1)//不止猜一次,采用WHILE循环
{
printf("请输入数字");
scanf("%d", &guess);
if (guess < r)
{
printf("猜小了,重新猜一下吧!\n");
}
else if (guess > r)
{
printf("猜大了,重新猜一下吧!\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
/*游戏界面*/
void menu()
{
printf("********************\n");
printf("****** 1.PLAY ******\n");
printf("****** 0.EXIT ******\n");
printf("********************\n");
printf("********************\n");
}
int main()
{
int input = 0; //初始化输入
srand((unsigned int)time(NULL)); //产生一个1-100的随机值
/*scanf("%d", &input);*/
do
{
menu();
printf("请选择》》");
scanf("%d", &input);
switch (input) //
{
case 1:
game();
break;
case 0:
printf("游戏结束。\n");
break;
default:
printf("输入有误,请重新弄输入:\n");
break;
}
} while (input);//当输入值为一跳出循环
return 0;
}
猜数字的过程展示
代码改进
我们可以为了增加游戏的可玩性,我们可以增加一个计次模块,初始次数为5,没猜一次,初始次数减1,初始次数为0,游戏也结束。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<stdio.h>
//猜数字代码的实现
void game()
{
int r = rand() % 100 + 1;//定义一个变量接受产生的随机值
int guess = 0;
int count = 5;
while (1)//不止猜一次,采用WHILE循环
{
printf("请输入数字");
scanf("%d", &guess);
printf("\n你还有%d机会\n", count);//计次
if (guess < r)
{
printf("猜小了,重新猜一下吧!\n");
}
else if (guess > r)
{
printf("猜大了,重新猜一下吧!\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
count--;
}
if (count == 0)
{
printf("你失败了,正确值是:%d\n", r);
}
}
/*游戏界面*/
void menu()
{
printf("********************\n");
printf("****** 1.PLAY ******\n");
printf("****** 0.EXIT ******\n");
printf("********************\n");
printf("********************\n");
}
int main()
{
int input = 0; //初始化输入
srand((unsigned int)time(NULL)); //产生一个1-100的随机值
/*scanf("%d", &input);*/
do
{
menu();
printf("请选择》》");
scanf("%d", &input);
switch (input) //
{
case 1:
game();
break;
case 0:
printf("游戏结束。\n");
break;
default:
printf("输入有误,请重新弄输入:\n");
break;
}
} while (input);//当输入值为一跳出循环
return 0;
}
改进后的代码