应用指针编写函数,建立n个整形元素的一维数组,求所有元素的平均值,输出平均值以上的元素
时间: 2024-02-21 08:57:26 浏览: 75
好的,这个问题很简单,可以用如下的代码来实现:
```c++
#include <iostream>
using namespace std;
void printAboveAverage(int* arr, int n);
int main() {
int n;
cout << "请输入数组的大小:";
cin >> n;
int* arr = new int[n];
int sum = 0;
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个元素:";
cin >> arr[i];
sum += arr[i];
}
double average = (double)sum / n;
cout << "所有元素的平均值为:" << average << endl;
printAboveAverage(arr, n);
delete[] arr;
return 0;
}
void printAboveAverage(int* arr, int n) {
double average = 0;
for (int i = 0; i < n; i++) {
average += arr[i];
}
average /= n;
cout << "平均值以上的元素有:";
for (int i = 0; i < n; i++) {
if (arr[i] > average) {
cout << arr[i] << " ";
}
}
cout << endl;
}
```
在这个代码中,我们用动态内存分配的方式建立了一个大小为 n 的整型数组。然后,我们求出了所有元素的平均值,再遍历一遍数组,输出平均值以上的元素即可。注意,由于我们用了动态内存分配的方式,最后需要用 `delete[]` 来释放内存。
阅读全文