写一个猜数字游戏
1、自动产生一个1---100之间的随机数
2、猜数字 a、猜对了,就恭喜你,游戏结束
b、猜错了,会告诉你猜大了或猜小了,继续猜,直到猜对了为止
3、游戏一直玩,除非退出游戏。
自己的写法
void menu()
{
printf("1.play\n");
printf("0.exit\n");
}
int main()
{
menu();//打印菜单
printf("请输入数字\n");
int input = 0;
while (1)
{
scanf("%d", &input);
if (input == 1)
{
printf("玩游戏\n");
}
else if (input == 0)
{
printf("退出游戏\n");
break;
}
else
{
printf("输入错误\n");
}
}
return 0;
}
课上的写法
void menu()
{
printf("1.play\n");
printf("0.exit\n");
}
int main()
{
int input = 0;
do{
menu();//打印菜单
printf("请输入数字\n");
switch(input)
{
case 1;
printf("玩游戏\n");
break;
case 0;
printf("退出游戏\n");
break;
default;
printf("输入错误\n");
break;
}
}while(input);
//如果输入是0,0为假,则跳出该循环;如果选1,则进入游戏,结束后可以再进入循环选择是否玩游戏
}
return 0;
}
猜数字---生成随机数
头文件:
#include <time.h>
#include <stdlib.h>
void game()
{
int ret = rand() % 100 + 1;//%100的余数是0--99,然后+1,范围就是1---100
printf("%d\n", ret);//到时要删除
}
srand((unsigned int)time(NULL));放到main函数中
game();与printf("玩游戏\n");互换
猜数字的过程
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;
}
}
//最终的代码
void game()
{
int ret = rand() % 100 + 1;
//printf("%d\n", ret);
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;
}
}
}
void menu()
{
printf("1.play\n");
printf("0.exit\n");
}
int main()
{
menu();
int input = 0;
srand((unsigned int)time(NULL));
while (1)
{
scanf("%d", &input);
if (input == 1)
{
game();
}
else if (input == 0)
{
printf("退出游戏\n");
break;
}
else
{
printf("输入了错误\n");
}
}
return 0;
}