题目:猜数游戏
28-1 前置知识
rand函数:生成随机数
srand函数:设置随机数起点
时间戳: 某时间点相对于计算机起始时间的差值,单位是秒。时间戳是一直在变化的,并且是整数
time函数
28-2 代码及效果展示
代码如下:
//目录
void menu()
{
printf("***************************\n");
printf("***********1、play*********\n");
printf("***********0、exit*********\n");
printf("***************************\n");
}
//游戏规则
void game()
{
//1、生成随机数
int ret = rand()/100+1; //0-RAND_MAX(32767),ret的范围是1-100
//2、猜数字
while (1)
{
printf("请猜数字:>");
int guess = 0;
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))); //需要设置一个值,并且时刻要变化,才能达到随机的效果
//上面已经介绍过time和srand函数,由于time的返回值与srand不同,所以要进行强制类型转换
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;
}
运行结果: