c++.从键盘输入最多50个整数,0表示结束。将该批数据存入一个数组中,然后调用ReverseAndCount函数将数据在数组中的存放次序颠倒并统计出大于平均数的个数,输出结果。 ReverseAndCount函数的功能为颠倒数据存放的次序和统计大于平均数的个数,其 首部为: int ReverseAndCount(int n, int s[]) 如果为了程序的结构,你还可以添加其他的子程序。如,可以编写计算数组中数据的平均值的函数,还可将ReverseAndCount函数分成两个子程序实现等。
时间: 2023-12-03 19:44:25 浏览: 32
以下是实现该功能的C++代码:
```c++
#include <iostream>
using namespace std;
int ReverseAndCount(int n, int s[]);
double getAverage(int n, int s[]);
int main() {
const int MAX_SIZE = 50;
int arr[MAX_SIZE];
int n = 0, num, sum = 0;
double average;
// 从键盘输入最多50个整数,0表示结束
cout << "请输入最多50个整数,以0结束:" << endl;
cin >> num;
while (num != 0 && n < MAX_SIZE) {
arr[n++] = num;
cin >> num;
}
// 调用ReverseAndCount函数将数据在数组中的存放次序颠倒并统计出大于平均数的个数
int greaterThanAvg = ReverseAndCount(n, arr);
// 输出结果
cout << "颠倒后的数组为:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
cout << "大于平均数的元素个数为:" << greaterThanAvg << endl;
return 0;
}
// 颠倒数据存放的次序和统计大于平均数的个数
int ReverseAndCount(int n, int s[]) {
// 颠倒数组中元素的顺序
for (int i = 0; i < n / 2; i++) {
int temp = s[i];
s[i] = s[n - i - 1];
s[n - i - 1] = temp;
}
// 统计大于平均数的个数
double average = getAverage(n, s);
int count = 0;
for (int i = 0; i < n; i++) {
if (s[i] > average) {
count++;
}
}
return count;
}
// 计算数组中数据的平均值
double getAverage(int n, int s[]) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += s[i];
}
return sum / n;
}
```
该程序首先从键盘输入最多50个整数,存储在数组中。然后调用`ReverseAndCount`函数将数据在数组中的存放次序颠倒并统计出大于平均数的个数,最后输出结果。
`ReverseAndCount`函数首先颠倒数组中元素的顺序,然后计算数组的平均值,最后统计大于平均数的元素个数并返回。`getAverage`函数用于计算数组中数据的平均值。