循环分支语句的综合应用———猜数字游戏
顾名思义,就是电脑在规定的范围内产生一个随机数字,玩家进行猜测然后电脑把玩家输入的数字和产生的随机数进行对比。电脑对玩家进行提示正确数字相比玩家输入的数字大了还是小了,循环往复直到玩家猜对为止。
先画出游戏的流程图来提供一个清晰思路,往后按流程写代码就不容易混乱。
游戏的目录模块 menu():
void menu()//游戏目录
{
printf("************************************\n");
printf("************ 1.进行游戏 ************\n");
printf("************ 0.退出游戏 ************\n");
printf("************************************\n");
}
游戏的运行模块 game():
void game()//游戏模块
{
int ret = 0;
int guess = 0;
ret = rand() % 100 + 1;//rand()生成随机数的范围0-32767,取余数是为了控制生成数的范围在[1,100]之间。
while (1)
{
printf("猜猜该数字:>");
scanf("%d", &guess);
if (guess > ret)
{
printf("猜大了\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜,猜对了\n");
break;
}
}
}
游戏的主函数模块 main():
#include<stdlib.h>
#include<time.h>
//函数声明
void menu();
void game();
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//随机数发生器 强制对time()返回类型进行转换
do
{
menu();
printf("请选择;>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏!\n");
break;
default:
printf("选择错误!\n");
break;
}
}while(input);//不为0条件为真,一直循环下去!
system("pause");
return 0;
}
程序运行截图:
总结:
猜数字游戏就是循环分支语句的综合运用,在对于这种综合应用的程序,我们要做的就是:
- 分析程序所要实现的功能,最好能画出流程图。
- 在根据对应的流程图功能来运用对应的语句来实现对应的功能。
- 最好将这些功能分装成模块函数这样是主函数不那么臃肿,便于查找错误也便于阅读代码。
- 最后要注意代码的书学风格很重要!!!。