很多人都玩过猜数字游戏(给定一个范围的数字,通过几次猜测确定正确值),通过对C语言的学习,对猜数字游戏实现简单的编写。游戏编写很简单,主程序加一个判断猜测数字大小的判断程序。大致思路先是利用随机数的生成随机数,然后用随机数%,得到确定范围,然后输入猜测数字与随机数通过if判断语句来进行比较。需要用到if语句的判断,while循环,do while循环。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void game(int s)
{
int b = 0; //设定游戏猜测值
printf("please input\n");
while (1)
{
scanf_s("%d", &b);
if (s>b) //通过猜测值与系统随机值比较,对猜测者提供反馈
printf("guess small\n");
if (s<b)
printf("guess big\n");
if (b == s)
{
printf("right!!!\n");
break; //猜测正确时跳出循环
}
}
}
void meun()
{
printf("********************************************************\n");
printf("********************** 1.play **********************\n");
printf("********************** 0.exit **********************\n");
printf("********************************************************\n");
}
int main()
{
srand((unsigned)time(NULL)); //初始随机数生成器
int s = rand() % 101; //生成随机数(%101生成100以内随机数)
int a; //设置一个变量来选择游戏菜单
do
{
meun(); //显示游戏菜单
scanf_s("%d", &a);
if (a == 1) //当变量a为1时,运行game函数
game(s);
} while (a != 0); //设置循环只要a不为0,程序始终运行当变量a为1时,为0退出程序
return 0;
}
编写可能出现的错误或需要注意的地方:
1.程序需要用户选择,非0时程序一直进行。
2.用户进行成功一次游戏时,没有返回主菜单。
3.编写时没有确定随机数的范围,导致猜测范围过于庞大。
如有错误或优化,欢迎指出!
Author:yk