游戏要求:
1.
电脑⾃动⽣成1~100的随机数
2.
玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束
随机数的生成
rand
1.rand函数是一个库函数需要头文件<stdlib.h>
2.int rand(void)无参数类型
3.用来生成随机数(0--32767)
在我们多次循环后发现rand产生的随机数是一致的,缺少了玩儿游戏的趣味性,为了产生多种随机数我们使用srand
srand
1.void srand(unsinged int seed)随着种子的变化产生的数就是随机的
但在玩游戏的过程中我们不可能每次都去改变种子的值,所以我们就需要寻找一个变量使种子时刻发生变化(time)
time
1.time是一个库函数,需要头文件<time.h>
2.time_t time (time_t* timer)
time_t是time的返回类型
3.time(NULL)空指针,说明time返回时间戳(现在的时间到1970年1月1日0点0分的差值转化成秒为单位)
生成1--100的随机数
注意randa()的书写形式
猜数字游戏的实现
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void game()
{
int r = rand() % 100 + 1;
int guess = 0;
while (1)
{
scanf("%d", &guess);//写在循环里,要不就成了死循环。,
if (guess > r)
printf("猜大了\n");
else if (guess < r)
printf("猜小了\n");
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//产生随机数,只产生一次就可以,如果每次都产生那每次猜的数
字都不一样
do
{
printf("***********************\n");
printf("******** 1.play *******\n");
printf("******** 0.exit *******\n");
printf("***********************\n");
printf("请选择:>");
scanf("%d", &input);
switch (input)//注意switch语句的特点
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新输入\n");
break;
}
} while (input);
return 0;
}
要熟练掌握这些语句的语法特点。