用c加加中的指针设计函数average,求数组元素的平均值ave,数组元素为用户输入,及大于平均值的元素个数num
时间: 2024-03-18 18:39:21 浏览: 25
以下是用 C++ 中的指针设计函数 average,实现求数组元素的平均值 ave,以及大于平均值的元素个数 num。
```c++
#include <iostream>
#include <cstdlib>
using namespace std;
void average(int* arr, int size, double& ave, int& num) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
ave = static_cast<double>(sum) / size;
num = 0;
for (int i = 0; i < size; i++) {
if (arr[i] > ave) {
num++;
}
}
}
int main() {
int size;
cout << "请输入数组大小:";
cin >> size;
int* arr = new int[size];
for (int i = 0; i < size; i++) {
cout << "请输入第" << i + 1 << "个数:";
cin >> arr[i];
}
double ave;
int num;
average(arr, size, ave, num);
cout << "平均值为:" << ave << endl;
cout << "大于平均值的元素个数为:" << num << endl;
delete[] arr;
return 0;
}
```
函数 `average` 中,`arr` 是指向数组的指针,`size` 是数组的大小,`ave` 是平均值的引用,`num` 是大于平均值的元素个数的引用。函数首先计算数组元素的和,然后计算平均值,最后遍历整个数组,统计大于平均值的元素个数。在 `main` 函数中,首先输入数组的大小,然后动态分配数组内存,接着输入每个元素的值,通过调用 `average` 函数求得平均值和大于平均值的元素个数。最后输出结果,并释放数组内存。