refactoring: 输出所有大于平均数的数

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\n", len);
    double ave = average(scores, len);
    printf("average = %.3f\n", 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: \n");
    for (int i = 0; i < len; i++) {
        if (a[i] > average) {
            printf("%.2f\n", a[i]);
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/profesor/p/12824006.html