猜数字游戏
基本逻辑:
电脑产生一个随机数(1~100)
猜的数字比随机数大,需要反馈猜对了
猜的数字比随机数小,需要反馈猜小了
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("*********************\n");
printf("*******1.play********\n");
printf("*******0.exit********\n");
printf("*********************\n");
}
//RAND_MAX--rand函数能返回随机数的最大值。
void game()
{
int guess = 0;
//1.生成随机数
//任何一个数模上100就会变成0~99之间的数字,再+1就会变成0~100之间的数字
int ret = rand() % 100 + 1;
//printf("%d\n", ret);
//2.猜数字
while (1)
{
printf("请猜数字:>");
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()函数的返回值类型是time_t;srand需要的是unsigned类型,所以强制类型转换(unsigned int)
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();//"猜数字的逻辑"
break;
case 0:
break;
default:
printf("选择错误,重新选择\n");
break;
}
}
while (input);
return 0;
}