写一个函数求出二维数组每一行的平均值和每一列的平均值,并将行平均值输出到二维数组的最右侧一列

写一个函数求出二维数组每一行的平均值和每一列的平均值,并将行平均值输出到二维数组的最右侧一列

问题描述:

写一个函数求出二维数组每一行的平均值和每一列的平均值,并将行平均值输出到二维数组的最右侧一列

#include <stdio.h>

void main()
{
	float a[2][2]={1,2,4,5};
	printf("初始数组为:\n");
	for(int i=0;i<2;i++)
	{for(int j=0;j<2;j++)
		printf("%.1f  ",a[i][j]);
	printf("\n");
	}
	float ra1=0,ra2=0,la1=0,la2=0;
	float b[2][3]={0};
	for(int i=0;i<2;i++)
	{
		ra1+=a[0][i]/2;
		ra2+=a[1][i]/2;
		la1+=a[i][0]/2;
		la2+=a[i][1]/2;
		for(int j=0;j<2;j++)
			b[i][j]=a[i][j];
		if(i==1)
		{b[i-1][i+1]=ra1;
		 b[i][i+1]=ra2;
		}
	}
	printf("第一行平均值为:%.1f\n",ra1);
	printf("第二行平均值为:%.1f\n",ra2);
	printf("第一列平均值为:%.1f\n",la1);
	printf("第二列平均值为:%.1f\n",la2);
	printf("变化数组为:\n");
	for(int i=0;i<2;i++)
	{for(int j=0;j<3;j++)
		printf("%.1f  ",b[i][j]);
	printf("\n");
	}
}

 

#include<stdio.h>
int main()
{
    int i,j,m,n,x,sum;
    float a[10][10];
    scanf("%d %d",&m,&n);
    for(i=0;i<m;i++){
        sum=0;
        for(j=0;j<n;j++){
            scanf("%f",&a[i][j]);
            sum+=a[i][j];
        }

        a[i][n-1]=sum*1.0/n*1.0;
    }
    for(i=0;i<m;i++){
        printf("%.2f\n",a[i][n-1]);
    }
}
/*3 3
1 2 3
4 5 6
7 8 6
*/

 

#include <stdio.h>

void main()
{
    float a[2][2]={1,2,4,5};
    printf("初始数组为:\n");
    for(int i=0;i<2;i++)
    {for(int j=0;j<2;j++)
        printf("%.1f  ",a[i][j]);
    printf("\n");
    }
    float ra1=0,ra2=0,la1=0,la2=0;
    float b[2][3]={0};
    for(int i=0;i<2;i++)
    {
        ra1+=a[0][i]/2;
        ra2+=a[1][i]/2;
        la1+=a[i][0]/2;
        la2+=a[i][1]/2;
        for(int j=0;j<2;j++)
            b[i][j]=a[i][j];
        if(i==1)
        {b[i-1][i+1]=ra1;
         b[i][i+1]=ra2;
        }
    }
    printf("第一行平均值为:%.1f\n",ra1);
    printf("第二行平均值为:%.1f\n",ra2);
    printf("第一列平均值为:%.1f\n",la1);
    printf("第二列平均值为:%.1f\n",la2);
    printf("变化数组为:\n");
    for(int i=0;i<2;i++)
    {for(int j=0;j<3;j++)
        printf("%.1f  ",b[i][j]);
    printf("\n");
    }
}