refactoring:
把求平均数与输出大于平均数的数的代码,都写成了函数
程序的修改:
#define MAX 10
只需要对这里的10进行修改,就可以计算所需要的数量的数的平均值
比如,修改如下:
#define MAX 20
编译运行时,需要输入20个数,即可输出这20个数的平均数与大于平均数的数
/*输入10个数,输出平均数和大于平均数的所有数*/ #include <stdio.h> #define MAX 10 double average(double a[], int len); //求平均数函数 void aboveAverage(double a[], int len, double average); //输出大于平均数的所有数的函数 int main() { double scores[MAX]; int i; for (i = 0; i < MAX; i++) { scanf("%lf", &scores[i]); } int len = sizeof(scores) / sizeof(scores[0]); printf("len = %d ", len); double ave = average(scores, len); printf("average = %.3f ", ave); aboveAverage(scores, len, ave); return 0; } double average(double a[], int len) { double sum = 0; for (int i = 0; i < len; i++) { sum += a[i]; } return sum / len; } void aboveAverage(double a[], int len, double average) { printf("above average: "); for (int i = 0; i < len; i++) { if (a[i] > average) { printf("%.2f ", a[i]); } } }