我正在尝试使用C中的程序来获取5个输入数字,然后将这些数据存储在数组中。获取5个数字后,我必须得到最小数字,max和输入的MINIMUN和MAXIMUM数字的平均值,而不是全部的五个。所以这是我制作的代码。当我得到最大数量时,似乎工作正常。但是当它到达最小值时,它仍然与最大值相同,因此我将获得不同的平均值。
#include <stdio.h>
#include <conio.h>
int main()
{
int num[5];
int counter, min, max=0;
float average, total;
min=num;
for(counter=1; counter<=5; counter++)
{
printf("Enter a number: ");
scanf("%d", &num[5]);
if(num[5]>max)
{
max = num[5];
}
if (num[5]<min)
{
min = num[5];
}
}
total = min + max;
average = total/2;
printf("The maximum number is: %d\n", max);
printf("The minimum number is: %d\n", min);
printf("The average is: %d", average);
getch();
return 0;
}
答案 0 :(得分:4)
由于这是一个学习练习,我不会更正您的代码,但指出需要修复的内容:
min
是int
,而num
是数组,因此作业min=num
无效scanf
应将数据放入&num[count]
,而不是&num[5]
total
无法计算为min+max
;你需要保持一个运行总计,每次迭代都要更新它。