用c++编写函数 给定一个包含n个正整数的数组,自定义函数,计算数组中能被3整除的数的平均值 (精确到小数点后2位),要求利用指针实现并在主函数中进行输入输出
时间: 2024-02-09 09:09:35 浏览: 81
c++ 求一些数的平均值。
好的,下面是代码实现:
```c++
#include <iostream>
using namespace std;
void calcAvg(int *arr, int n, float *avg) {
int sum = 0, count = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 3 == 0) {
sum += arr[i];
count++;
}
}
if (count > 0) {
*avg = (float)sum / count;
}
}
int main() {
int n;
cin >> n;
int *arr = new int[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
float avg = 0;
calcAvg(arr, n, &avg);
printf("%.2f", avg);
delete[] arr;
return 0;
}
```
解释一下:
- `calcAvg` 函数用于计算数组中能被 3 整除的数的平均值,并把结果存入 `avg` 指针指向的变量中。
- `main` 函数中,先读入数组长度 `n`,然后动态分配一个长度为 `n` 的数组 `arr`,并读入 `n` 个整数存入数组中。
- 接着,定义一个 `float` 类型的变量 `avg`,并调用 `calcAvg` 函数计算结果。
- 最后,输出结果并释放动态分配的数组空间。
注意:输出时要保留小数点后两位,因此使用了 `printf` 函数。
阅读全文