你要开心鸭
2021-06-22 20:16
采纳率: 100%
浏览 84

求二维数组每一行每一列的平均值,并且分别放在数组最后一行,最后一列,需要调用函数

 

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Keep Doing this 2021-06-22 21:02
    已采纳
    #include <stdio.h>
    
    void main()
    {
    	float a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
    	printf("初始数组为:\n");
    	for(int i=0;i<3;i++)
    	{for(int j=0;j<4;j++)
    		printf("%.1f\t",a[i][j]);
    	printf("\n");
    	}
    	float ra1=0,ra2=0,ra3=0,la1=0,la2=0,la3=0,la4=0;
    	float b[4][5]={0};
    	for(int i=0;i<3;i++)
    	{
    		ra1+=a[0][i+1]/4;
    		ra2+=a[1][i+1]/4;
    		ra3+=a[2][i+1]/4;
    		la1+=a[i][0]/3;
    		la2+=a[i][1]/3;
    		la3+=a[i][2]/3;
    		la4+=a[i][3]/3;
    		for(int j=0;j<4;j++)
    			b[i][j]=a[i][j];
    		if(i==2)
    		{
    			
    		 b[0][4]=ra1;
    		 b[1][4]=ra2;
    		 b[2][4]=ra3;
    		 b[3][0]=la1;
    		 b[3][1]=la2;
    		 b[3][2]=la3;
    		 b[3][3]=la4;
    			
    		}
    	}
    	printf("第一行平均值为:%.1f\n",ra1);
    	printf("第二行平均值为:%.1f\n",ra2);
    	printf("第三行平均值为:%.1f\n",ra3);
    	printf("第一列平均值为:%.1f\n",la1);
    	printf("第二列平均值为:%.1f\n",la2);
    	printf("第三列平均值为:%.1f\n",la3);
    	printf("第四列平均值为:%.1f\n",la4);
    	printf("变化数组为:\n");
    	for(int i=0;i<4;i++)
    	{for(int j=0;j<5;j++)
    		if(i==3&&j==4) break;
    		else printf("%.1f\t",b[i][j]);
    	printf("\n");
    	}
    }

     

     

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Keep Doing this 2021-06-22 22:28
    #include <stdio.h>
    void SuZu()
    
    {
    
    	float a[3][4]={0};
    		 printf("请输入3行4列:\n");
    	for (int i = 0; i < 3; i++)
    	{
    		for (int j = 0; j< 4; j++)
    		{
    			scanf("%d\t", &a[i][j]);
    		}
    	}
    
    	printf("初始数组为:\n");
    
    	for(int i=0;i<3;i++)
    
    	{for(int j=0;j<4;j++)
    
    		printf("%.1f\t",a[i][j]);
    
    	printf("\n");
    
    	}
    
    	float ra1=0,ra2=0,ra3=0,la1=0,la2=0,la3=0,la4=0;
    
    	float b[4][5]={0};
    
    	for(int i=0;i<3;i++)
    
    	{
    
    		ra1+=a[0][i+1]/4;
    
    		ra2+=a[1][i+1]/4;
    
    		ra3+=a[2][i+1]/4;
    
    		la1+=a[i][0]/3;
    
    		la2+=a[i][1]/3;
    
    		la3+=a[i][2]/3;
    
    		la4+=a[i][3]/3;
    
    		for(int j=0;j<4;j++)
    
    			b[i][j]=a[i][j];
    
    		if(i==2)
    
    		{
    
    			
    
    		 b[0][4]=ra1;
    
    		 b[1][4]=ra2;
    
    		 b[2][4]=ra3;
    
    		 b[3][0]=la1;
    
    		 b[3][1]=la2;
    
    		 b[3][2]=la3;
    
    		 b[3][3]=la4;
    
    			
    
    		}
    
    	}
    
    	printf("第一行平均值为:%.1f\n",ra1);
    
    	printf("第二行平均值为:%.1f\n",ra2);
    
    	printf("第三行平均值为:%.1f\n",ra3);
    
    	printf("第一列平均值为:%.1f\n",la1);
    
    	printf("第二列平均值为:%.1f\n",la2);
    
    	printf("第三列平均值为:%.1f\n",la3);
    
    	printf("第四列平均值为:%.1f\n",la4);
    
    	printf("变化数组为:\n");
    
    	for(int i=0;i<4;i++)
    
    	{for(int j=0;j<5;j++)
    
    		if(i==3&&j==4) break;
    
    		else printf("%.1f\t",b[i][j]);
    
    	printf("\n");
    
    	}
    
    }
    void main()
    {
    	SuZu();
    }
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题