#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int c;
int number;
int guess;
char ans;
printf("\n猜数游戏!您需要猜一个介于一个范围之间的整数。\n");
do
{
printf("\n\t1、答案在0-9之间。\n");
printf("\t2、答案在0-99之间。\n");
printf("\t3、答案在0-999之间。\n");
printf("\t4、答案在0-9999之间。\n");
printf("\t(缺省难度设置为2)\n");
printf("\t请选择难度<1-4>?");
fflush(stdin); //清空键盘输入缓冲区!
c = getchar();
srand((unsigned)time(NULL));/* rand()函数每次产生的随机数都是一样的。
通过调用初始化随机数发生器改变这种情形。
调用函数srand((unsigned)time(NULL)),
以time函数值作为种子数,两次调用rand函
数的时间通常是不同的,这就可以保证随机
性了。*/
switch©
{
case '1': number = rand()%10; break;
case '2': number = rand()%100; break;
case '3': number = rand()%1000; break;
case '4': number = rand()%10000; break;
default: number = rand()%100; break;//产生0到99之间的随机数。
}
do
{
printf("\n请您输入一个猜测的数字:\n");
fflush(stdin);
scanf("%d", &guess);
if (guess-number < -10)
{
printf("可惜,太小了!\n");
}
else if ((guess-number >= -10) && (guess-number < 0))
{
printf("太可惜了,稍微小了点!\n");
}
else if ((guess-number <= 10) && (guess-number > 0))
{
printf("太可惜了,稍微大了点!\n");
}
else if (guess-number > 10)
{
printf("可惜,太大了!\n");
}
else
{
printf("\n太棒了,您猜中了!\n答案正是%d!\n", number);
}
}
while (guess != number);
printf("\n(缺省设置为继续游戏,输入“N”离开游戏!)\n");
printf("您是否还想再玩一次?");
fflush(stdin);
ans = getchar();
}
while (ans != 'n' && ans != 'N');
printf("\n谢谢,再见!\n");
}