编写子函数fun,其功能是将形参数列中小于平均值且最接近平均值的数返回,main函数负责输入、输出。 例如: 输入数列的长度:10 输入数列:46、30、32、40、6、17、45、15、48、26 数列的平均值:30.50 小于平均值且最接近平均值的数为:30C++
时间: 2023-07-10 18:07:51 浏览: 51
以下是实现该功能的代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
double average(int a[], int n) { // 计算平均值
double sum = 0;
for (int i = 0; i < n; i++)
sum += a[i];
return sum / n;
}
int fun(int a[], int n) { // 找出小于平均值且最接近平均值的数
double avg = average(a, n);
int res = a[0];
double min_diff = abs(avg - a[0]);
for (int i = 1; i < n; i++) {
if (a[i] < avg && abs(avg - a[i]) < min_diff) {
res = a[i];
min_diff = abs(avg - a[i]);
}
}
return res;
}
int main() {
int n;
cout << "输入数列的长度:";
cin >> n;
int a[n];
cout << "输入数列:";
for (int i = 0; i < n; i++)
cin >> a[i];
cout << "数列的平均值:" << average(a, n) << endl;
cout << "小于平均值且最接近平均值的数为:" << fun(a, n) << endl;
return 0;
}
```
输出结果:
```
输入数列的长度:10
输入数列:46 30 32 40 6 17 45 15 48 26
数列的平均值:30.5
小于平均值且最接近平均值的数为:30
```