获取输入的五个数字的最小值,最大值和最大值

我正在尝试使用C中的程序来获取5个输入数字,然后将它们存储在一个数组中。 得到5个数字后, 我必须得到输入的MINIMUN和MAXIMUM数的最小值,最大值和平均值,而不是全部的5个。 所以这是我制作的代码。 当我得到最大数量,它似乎工作正常。 但是当它到达最小值时,它仍然与最大值相同,因此我将获得不同的平均值。

#include  #include  int main() { int num[5]; int counter, min, max=0; float average, total; min=num; for(counter=1; countermax) { 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; } 

由于这是一个学习练习,我不会更正您的代码,但指出需要修复的内容:

  • C中的数组从零开始索引,而不是从一个索引,因此计数器应该从0到4(包括0和4)
  • min是一个int ,而num是一个数组,因此赋值min=num无效
  • scanf应该将数据放入&num[count] ,而不是&num[5]
  • 在编写循环的方式中,根本不需要数组:您需要输入最后一个数字。
  • total不能计算为min+max ; 你需要保持一个运行总计,在每次迭代时更新它。