#include <stdio.h> float Max(float score[],int n); float Min(float score[],int n); float Average(float score[],int n); int main() { int n, b; float max,min,average; scanf("%d",&n); float score[n]; for(b=0;b<n;b++){ scanf("%f ",&score[b]); } max=Max(score,n); //求最高分 min=Min(score,n); //求最低分 average=Average(score,n); //求总分 printf("%.2f %.2f %.2f",max,min,average/n); return 0; } //求最高分 float Max(float score[],int n) { float M=score[n-1]; while(n){ if(M<score[n-1]){ M=score[n-1]; } n--; } return M; } //求最低分 float Min(float score[],int n) { float M=score[n-1]; while(n){ if(M>score[n-1]){ M=score[n-1]; } n--; } return M; } //求总数 float Average(float score[],int n) { float num=0; while(n){ num+=score[n-1]; n--; } return num; } //不用函数写法 /* #include <stdio.h> int main() { int n; double temp, sum = 0, max = 0, min = 100, average; scanf("%d",&n); while( scanf("%lf",&temp) != EOF){ sum += temp; if(temp > max){ max = temp; } if(temp < min){ min = temp; } } average = sum / n; printf("%.2f %.2f %.2f",max, min, average); return 0; } */
在这两种写法中,使用函数的写法更好。以下是原因:
- 可重用性:使用函数的写法可以将计算最大值、最小值和平均值的逻辑封装在函数中。这样,如果你在代码的其他部分需要再次计算这些值,你可以直接调用这些函数,而不需要重复编写相同的逻辑。这提高了代码的可重用性。
- 可读性:使用函数的写法使得代码更加清晰和易于理解。通过将计算逻辑封装在函数中,你可以在main()函数中只关注主要的逻辑,而不需要关注具体的计算细节。这提高了代码的可读性。
- 模块化:使用函数的写法使得代码更加模块化。通过将不同的功能划分为不同的函数,你可以更好地组织和管理代码。这使得代码更易于维护和调试。
另外,使用函数的写法还可以提供更好的代码扩展性。如果你需要在将来添加其他功能或修改现有功能,你只需要修改相应的函数,而不需要修改整个程序。
因此,使用函数的写法更好,因为它提供了更好的可重用性、可读性、模块化和扩展性。