C语言求一批数中大于平均值的数的和,使用函数average_sum
时间: 2024-02-18 11:00:16 浏览: 152
好的,下面是代码实现:
```
#include <stdio.h>
float average(int arr[], int n); // 声明求平均数的函数
float average_sum(int arr[], int n); // 声明求大于平均数的数的和的函数
int main()
{
int arr[100]; // 数组
int n; // 数组长度
int i; // 循环计数器
printf("请输入数组长度:");
scanf("%d", &n);
printf("请输入%d个数:\n", n);
for(i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
printf("大于平均值的数的和为:%.2f\n", average_sum(arr, n));
return 0;
}
float average(int arr[], int n)
{
int i;
float sum = 0;
for(i = 0; i < n; i++)
{
sum += arr[i];
}
return sum / n;
}
float average_sum(int arr[], int n)
{
int i;
float sum = 0;
float avg = average(arr, n);
for(i = 0; i < n; i++)
{
if(arr[i] > avg)
{
sum += arr[i];
}
}
return sum;
}
```
代码解析:
1. 首先在主函数中声明了一个数组arr和变量n,用于存储用户输入的一批数。
2. 然后使用printf函数输出提示信息,让用户输入数组长度n,再使用循环读入数组arr中的元素。
3. 接着调用average_sum函数,该函数会先调用average函数求出数组arr的平均值,然后再计算大于平均值的数的和。
4. average函数用于求一批数的平均值,它使用循环计算数组arr中所有数的和,最后返回平均值。
5. average_sum函数用于求大于平均值的数的和,它首先调用average函数求出数组arr的平均值avg,然后使用循环遍历数组arr,如果数组中某个数大于平均值avg,则将其加入sum中,最后返回sum。
6. 在主函数中,使用printf函数输出大于平均值的数的和,注意输出时要保留两位小数。
需要注意的是,这里的函数average和average_sum都使用了数组作为参数,并返回了一个float型的值。
阅读全文