求实型二维数组每行元素的平均值。(使用指向数组的指针编写,结果保留3位小数)
时间: 2023-06-16 13:03:01 浏览: 142
二维数组求最大数
3星 · 编辑精心推荐
假设实型二维数组为 `array`,有 `m` 行 `n` 列,可以使用以下代码计算每行元素的平均值:
```c
#include <stdio.h>
void row_avg(double (*array)[n], int m, int n);
int main() {
double array[3][4] = {{1.1, 2.2, 3.3, 4.4},
{5.5, 6.6, 7.7, 8.8},
{9.9, 10.0, 11.1, 12.2}};
row_avg(array, 3, 4);
return 0;
}
void row_avg(double (*array)[n], int m, int n) {
for (int i = 0; i < m; i++) {
double sum = 0.0;
for (int j = 0; j < n; j++) {
sum += array[i][j];
}
double avg = sum / n;
printf("Row %d average: %.3f\n", i+1, avg);
}
}
```
这里使用指向数组的指针作为函数参数,`double (*array)[n]` 表示指向每行有 `n` 个元素的实型数组的指针。在函数内部,使用两个嵌套的循环遍历二维数组,计算每行元素的和,再除以列数得到平均值。最后使用 `printf` 输出结果。
输出结果:
```
Row 1 average: 2.750
Row 2 average: 7.150
Row 3 average: 10.550
```
阅读全文