求实型二维数组每行元素的平均值。(使用指向数组的指针编写,结果保留3位小数)

谢谢大家了啊
2024-12-05 07:19:01
推荐回答(2个)
回答(1):

#include "stdio.h"

void average(double (*p)[3], int row, double *q)
{
int i, j;
for(i=0; i {
*(q+i) = 0;
for(j=0; j<3; j++)
*(q+i) += *(*(p+i)+j);
*(q+i) /= 3;
}
}

void main()
{
double arr[][3] = {{1.1, 2.2, 3.4},
{2.2, 3.3, 4.2},
{3.3, 4.2, 1.3}};
double avg[3];
int i;

average(arr, 3, avg);

printf("averages\n");
for(i=0; i<3; i++)
printf("No.%2d : %.3lf\n", i+1, avg[i]);
}

回答(2):

int a[5][5],average[5],sum;
for( i=0; i<5; i++ )
{ sum = 0;//求每一行的 数组元素 和
for( j=0; j<5; j++ )
sum+=a[i][j]; // 对每行元素求和
average[i]=sum/5;//求每行的平均值
}
/*average[0],average[1]……,average[4]