猜数字小游戏中 主要难点是生成随机数
生成随机数要用rand()
函数 rand()又需要 包含stdlib这个头文件
用rand()又需要初始化它
初始化它要用 srand(无符号数字)
我们可以利用时间轴来初始化rand 保证每次启动程序都会出现不同的值
也就是用
#include<stdio.h>
#include<stdlib.h>
#include<time.h>srand((unsigned)time(NULL));
int rnum = rand() % 100 + 1;
来生成1-100的随机数(NULL 是空指针)
完整程序
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>void meau()
{
printf("*****************\n");
printf("* 1.play *\n");
printf("* 0.exit *\n");
printf("*****************\n");
}
void game()
{
int rnum = rand() % 100 + 1;
int inum = 0;
while(1)
{
printf("请输入>>");
scanf("%d", &inum);
if (inum > rnum)
printf("大了\n");
else if (inum < rnum)
printf("小了\n");
else if (inum == rnum)
{
printf("对了\n"); break;
}
}
}
int main()
{
int Iput = 1;
srand((unsigned)time(NULL));
while (Iput)
{
meau();
scanf("%d", &Iput);
switch (Iput)
{
case 1:
game(); break;
case 0:
break;
default:
printf("输入错误\n");
}
}
return 0;
}