6)编写子函数fun,其功能是将形参数列中小于平均值且最接近平均值的数返回,main函数负责输入、输出。 例如: 输入数列的长度:10 输入数列:46、30、32、40、6、17、45、15、48、26 数列的平均值:30.50
时间: 2023-12-28 10:59:11 浏览: 60
好的,我理解了你的问题。以下是对应的C++代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
// 计算平均值函数
double average(int arr[], int len) {
double sum = 0;
for (int i = 0; i < len; i++) {
sum += arr[i];
}
return sum / len;
}
// 找出小于平均值且最接近平均值的数
int fun(int arr[], int len) {
double avg = average(arr, len);
int min_diff = abs(arr[0] - avg);
int res = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] < avg && abs(arr[i] - avg) < min_diff) {
min_diff = abs(arr[i] - avg);
res = arr[i];
}
}
return res;
}
int main() {
int len;
cout << "输入数列的长度:";
cin >> len;
int arr[len];
cout << "输入数列:";
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
double avg = average(arr, len);
cout << "数列的平均值:" << avg << endl;
int res = fun(arr, len);
cout << "小于平均值且最接近平均值的数是:" << res << endl;
return 0;
}
```
测试结果:
```
输入数列的长度:10
输入数列:46 30 32 40 6 17 45 15 48 26
数列的平均值:30.5
小于平均值且最接近平均值的数是:26
```
希望这个回答对你有帮助!
阅读全文