设计一个猜数游戏,运行过程中的区间总是出错

#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;
}

如有帮助,望采纳!谢谢!