#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
time_t ti;
int num;
/* 初始化随机数发生器 */
srand((unsigned)time(&ti));
num = rand() % 100;
printf("随机数已生成,开始游戏\n");
int n, i, a[1000], m;
i = 0, m = 0;
//数组是存储输入的数据,m是数组的下标从零开始
// lei是雷
while (1)//这是无限循环可以一直猜数,直到猜中
{
printf("请输入所猜数字\n");
scanf_s("%d", &n);
a[m] = n;//将输入的数存到数组中,等待下一次调用
if (n<num)//判断输入的数字与雷的大小
{
printf("too small\n");
if (i == 0)
printf("%d到100\n", n);
else if (i != 0)
printf("%d到%d\n", n, a[m - 1]);
}
else if (n>num)
{
printf("too big\n");
if (i == 0)
printf("1到%d\n", n);
else if (i != 0)
printf("%d到%d\n", n, a[m - 1]);
}
else if (n == num)
{
printf("恭喜你猜对了\n");
break;
}
i++;
m = m + 1;
if (i >= 10)
{
printf("游戏次数使用完毕!游戏到此结束。\n");
printf("小可爱,你重新开始游戏!\n");
break;
}
//printf("m=%d\n",m);
printf("第%d次\n", i);
}
system("pause");//暂停
return 0;
}
说下你代码有什么问题
你题目的解答代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
time_t ti;
int num;
/* 初始化随机数发生器 */
srand((unsigned)time(&ti));
num = rand() % 100 + 1; // num = rand() % 100; 是随机生成0到99 要随机生成1到100 应该加上1
printf("随机数已生成,开始游戏\n");
int n, i, max=100,min=1;
i = 0;
//数组是存储输入的数据,m是数组的下标从零开始
// lei是雷
while (1) //这是无限循环可以一直猜数,直到猜中
{
printf("请输入所猜数字\n");
scanf_s("%d", &n);
if (n < num) //判断输入的数字与雷的大小
{
printf("too small\n");
if (n>min)
min = n;
printf("%d到%d\n", min, max);
}
else if (n > num)
{
printf("too big\n");
if (n<max)
max = n;
printf("%d到%d\n", min, max);
}
else if (n == num)
{
printf("恭喜你猜对了\n");
break;
}
i++;
if (i >= 10)
{
printf("游戏次数使用完毕!游戏到此结束。\n");
printf("小可爱,你重新开始游戏!\n");
break;
}
//printf("m=%d\n",m);
printf("第%d次\n", i);
}
system("pause"); //暂停
return 0;
}
如有帮助,望采纳!谢谢!