循环数组问题

问题是这样的 输入一组学生的程序 负数表示结束 计算最大值 最小值 平均分
下面是我的程序

include<stdio.h>

include<stdlib.h>

int main() {

int a[100], i=0,h=0, x,max,min,sum=0;
float ave;
scanf("%d", &x);
while (x >= 0) {
    a[i] = x;
    i++;
    h++;
    scanf("%d", &x);
}
max = a[0];
min = a[0];
for (i = 1; i <= h; i++) {
    if (a[i] > max)
        max = a[i];
    if (a[i] < min)
        min = a[i];
}
for (i = 0; i <= h; i++) {
    sum = sum + a[i];
}
ave = sum / h*1.0;
printf("%d %d %.2f", max, min, ave);

system("pause");
return 0;

}
为什么我的数组和循环都存进去了 但是输出就是不对了 请指教问题到底在哪?不胜感激!

阅读 1.5k
1 个回答

i<=h 应该是 i<h, 数组是从0开始。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进