#include <stdio.h> int main() { double a=0.0; double max=0.0,min=0.0,ave=0.0; //最大 最小 平均 double sum=0.0,n0=0.0; //总和 long n=0; scanf("%ld",&n); min=100; //防止min=0一直最小 while (n>0) { scanf("%lf",&a); //n科成绩 sum += a; //求和 if(a>max) max=a; //求最大 if(a<min) min=a; //求最小 n--; n0++; } ave = sum/n0; //求平均 printf("%.2lf %.2lf %.2lf",max,min,ave); return 0; }
这个代码的败笔在于不知道怎么正确的初始化min值,所以选择成绩最大值,防止初始化为0一直无法被更小的成绩赋值。欢迎大家指正!