使用do while循环
int main()
{
int input = 0;
do
{
menu();//游戏的棋盘
printf("请选择;>");
scanf("%d", &input);
switch (input)
{
case(1):
game();//游戏的程序
break;
case(0):
printf("退出游戏\n");
break;
default:
break;
}
}while (input);//input为0时退出程序,非0时进入函数
return 0;
}
2.定义棋盘内容
void menu()
{
printf("*****************************\n");
printf("***********1. play***********\n");
printf("***********0. exit***********\n");
printf("*****************************\n");
}
3.game函数内容
void game()
{
int guess = 0;
srand((unsigned int)time(NULL));
//放在主函数更好,不用每次使用时在game函数中重新调用
//(unsigned int)强制转为时间戳为srand函数可修饰的函数类型
//time(NULL)为时间戳,是一个时刻变化的随机值
int ret = rand()%100+1;
//生成随机数的函数,范围为0-RAND_MAX(0~32767),调用rand需要先调用srand
//因所求解的范围为0~100以内,应为rand()%100+1;(%100所求余数氛围为0~99,+1范围变为0~100以内)
while (1)
{
printf("请猜数字:>");
scanf("%d", &guess);
if (guess < ret)
printf("猜小了\n");
else if (guess > ret)
printf("猜大了\n");
else
{
printf("猜对了\n");
break;
}
}
}
4.最终代码
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
#include
void menu()
{
printf("*****************************\n");
printf("***********1. play***********\n");
printf("***********0. exit***********\n");
printf("*****************************\n");
}
void game()
{
int guess = 0;
int ret = rand()%100+1;
//生成随机数的函数,范围为0-RAND_MAX(即0~32767);调用rand需要先调用srand
//因所求解的范围为0~100以内,应为rand()%100+1;(%100所求余数氛围为0~99,+1范围变为0~100以内)
while (1)
{
printf("请猜数字:>");
scanf("%d", &guess);
if (guess < ret)
printf("猜小了\n");
else if (guess > ret)
printf("猜大了\n");
else
{
printf("猜对了\n");
break;
}
}
}
int main()
{
srand((unsigned int)time(NULL));
//放在主函数更好,不用每次使用时在game函数中重新调用
//(unsigned int)强制转为时间戳为srand函数可修饰的函数类型
//time(NULL)为时间戳,是一个时刻变化的随机值
int input = 0;
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;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)