C++定义并初始化一个5行5列的整形数组a,计算并输出每行元素的平均值和平均值最大的行号。

定义并初始化一个5行5列的整形数组a,计算并输出每行元素的平均值和平均值最大的行号。

#include <stdio.h>
void main()
{
int a[5][5];
int i,j,tag;
float ave[5];
tag=0;
printf("请输入数组的值,以回车结束\n");
for(i=0;i<=4;i++)
{
  for(j=0;j<=4;j++)
  {

  scanf("%d",&a[i][j]);
  }
}
printf("您输入的数组为:\n");
for(i=0;i<=4;i++)
{
  for(j=0;j<=4;j++)
  {
  printf("%d ",a[i][j]);
  }
 printf("\n");
}


for(i=0;i<=4;i++)
{  ave[i]=0;
   for(j=0;j<=4;j++)
   { 
     ave[i]+=a[i][j];
   }
     ave[i]=ave[i]/5.0;
}
for(i=0;i<=4;i++)
{   
    printf("第%d行的平均值为:  %f",i+1,ave[i]);
    printf("\n");
}
for(i=tag+1;i<=4;i++)
   if(ave[i]>ave[tag])
       tag=i;
   printf("平均值最大的行号是:%d\n",tag+1);

}

最大最小也顺便帮你求了

  

#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>
using namespace std;

int main()
{
    vector<double> v;
	
    int a[5][5]={<!-- -->{1,2,4,4,5},{1,3,5,7,9},{2,4,6,8,10},{6,7,8,9,10},{1,4,7,10,14}};//定义数组
    int sum=0;//用于存每一数组行的和
    int min;//最小值
    int max;//最大值
    for(int i=0;i<5;i++)
    {
        max = a[i][0];//假令最大值是第一个,以后都和它比,有比它大的就和它换值,它这里存的是一行中最大的
        min = a[i][0];//最小值
    	for(int j=0;j<5;j++)
    	{
        	sum = sum+a[i][j];//计算和
        	if(a[i][j]>max)
        	{
            max = a[i][j];
        	}//比较求大的
        	if(a[i][j]<min)
        	{
            	min = a[i][j];
        	}//比较求小的
   		}
    	printf("第%d行 最大值%d 最小值%d 平均值%d.%d\n",i+1,max,min,sum/5,sum%5*2);//平均值是由两部分组成的,一部分是和除5,一部分是和模5的余数,
//而余数的小数表示就是余数乘2(5是乘2,10是乘1,……)

	v.push_back(sum/5+sum%5*2*0.1);
    	sum=0;//将和清空,留着一会计算下一行	
    }

    auto maxPosition = max_element(v.begin(), v.end());
    cout <<"最大值"<< *maxPosition << " 在第 " << maxPosition - v.begin()+1 <<"行"<<endl;
	
    return 0;
}