#include<stdio.h>
#define M 6
#define N 6
int main()
{
int i,j,n,sum,row,col,sum1,sum2;
int a[M][N];
printf("输入n(3<=n<=6):");
scanf("%d",&n);
printf("输入%d个数形成矩阵:\n",n*n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%3d ",a[i][j]);
}
printf("\n");
}
/*各行元素之和*/
for(i=0;i<n;i++)
{
sum=0;
for(j=0;j<n;j++)
{
sum+=a[i][j];
}
printf("第%d行的元素之和为%d\n",i+1,sum);
}
printf("\n");
/*每行元素的最大值*/
for(i=0;i<n;i++)
{
col=0;
for(j=1;j<n;j++)
{
if(a[i][j]>a[i][col])
{
col=j;
}
}
printf("第%d行的最大值为%d\n",i+1,a[i][col]);
}
printf("\n");
/*每列元素最小值*/
for(j=0;j<n;j++)
{
row=0;
for(i=0;i<n;i++)
{
if(a[i][j]<a[row][j])
{
row=i;
}
}
printf("第%d列的最小值为%d\n",j+1,a[row][j]);
}
printf("\n");
/*分别求两条对角线上的各元素之和*/
sum1=0;sum2=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==j)
{
sum1+=a[i][j];
}
if(i+j==n-1)
{
sum2+=a[i][j];
}
}
}
printf("主对角线之和为:%d,副对角线之和为:%d",sum1,sum2);
return 0;
}