设计条件
- 范围1-100之间。
- 猜数字。
- 猜对了,恭喜你,游戏结束。
- 猜错了,会告诉你猜大了,还是猜小了,直到猜对。
- 游戏可以一直玩,直到退出游戏。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
void menu() //游戏菜单
{
printf("********************************\n");
printf("**** 欢迎来到猜数字小游戏 ****\n");
printf("**** 范围是1-100之间 ****\n");
printf("**** ****\n");
printf("**** 按1开始游戏 ****\n");
printf("**** 按0结束游戏 ****\n");
printf("********************************\n");
printf("\n");
}
void game() //游戏本体
{
//1.生成随机数
int ret = rand()%100+1; //rand返回0-32767之间的数字; %100的余数是0-99,+1,范围即1-100
//printf("%d\n", ret);
//2.猜数字
int guess = 0;
while (1)
{
printf("\n请输入数字:");
scanf("%d", &guess);
if (guess > ret)
{
printf("猜大了,输入小一点的试试看!\n");
}
else if (guess < ret)
{
printf("猜小了,输入大一点的试试看!\n");
}
else
{
printf("恭喜你,猜中了!\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL)); //需要一个变的值产生随机数。利用现实时间,时间戳库函数time()
//此函数只用调用一次,不需要循环,但是要在rand()之前
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;
}
编译器vs2019
以上是学习了判断语句和循环语句的混合使用!有问题的小伙伴欢迎留言!
|