给定一个包含n个正整数的数组,自定义函数,计算数组中能被3整除的数的平均值(精确到小数点后2位),要求利用指针实现并在主函数中进行输入输出。用c++实现
时间: 2024-05-06 08:16:58 浏览: 89
c++ 求一些数的平均值。
以下是用 C++ 实现的示例代码:
```c++
#include <iostream>
using namespace std;
double average(int* arr, int n) {
int sum = 0, cnt = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 3 == 0) {
sum += arr[i];
cnt++;
}
}
if (cnt == 0) return 0;
return (double)sum / cnt;
}
int main() {
int n;
cout << "请输入数组大小: ";
cin >> n;
int* arr = new int[n];
cout << "请输入数组元素: ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
double avg = average(arr, n);
cout << "能被3整除的数的平均值为: " << fixed << setprecision(2) << avg << endl;
delete[] arr;
return 0;
}
```
在上面的代码中,我们首先定义了一个 `average` 函数,它使用指针来获取数组和数组的大小,并计算出能被 3 整除的数的平均值。然后在 `main` 函数中,我们首先获取数组的大小和元素,并调用 `average` 函数来计算平均值,最后输出结果。
需要注意的是,在使用动态内存分配时,我们必须在程序结束时释放这些内存。在这个例子中,我们使用了 `new` 来分配数组的内存,然后在程序末尾使用了 `delete[]` 来释放内存。
阅读全文