求实型二维数组每行元素的平均值。(使用指向数组的指针编写,结果保留3位小数)
时间: 2024-05-07 22:19:47 浏览: 151
假设实型二维数组为`arr`,有`m`行、`n`列,可以按照行来求每行元素的平均值。可以按照行循环遍历数组,计算每行元素的和,然后再除以列数n,即可得到每行元素的平均值。
以下是使用指向数组的指针编写的示例代码:
```c
#include <stdio.h>
void row_average(double *arr, int m, int n){
double sum, avg;
for(int i=0; i<m; i++){
sum = 0;
for(int j=0; j<n; j++){
sum += *(arr + i*n + j);
}
avg = sum / n;
printf("第%d行的平均值为:%.3f\n", i+1, avg);
}
}
int main(){
double arr[2][3] = {{1.5, 2.1, 3.2}, {4.7, 5.3, 6.6}};
row_average(&arr[0][0], 2, 3);
return 0;
}
```
输出结果为:
```
第1行的平均值为:2.267
第2行的平均值为:5.533
```
代码解析:
1. `row_average`函数的参数包括数组指针`arr`,数组行数`m`,数组列数`n`。
2. 在循环中,`i`表示当前行数,`j`表示当前列数。`*(arr + i*n + j)`表示数组中第`i`行第`j`列的元素。
3. 对于每一行,先将当前行的元素累加到`sum`中,最后求平均值`avg`。使用`printf`函数输出结果。
阅读全文