#include<stdio.h>
void main()
{
int a[4][4],row_max[3],column_min[3];
int i,j,sum=0;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
a[i][j]=0;
}
printf("录入矩阵元素:\n");
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<=3;i++)
printf("[%d %d %d %d]\n",a[i][0],a[i][1],a[i][2],a[i][3]);
for(i=0;i<=3;i++)
{
row_max[i]=a[i][0];
for(j=1;j<=3;j++)
{
if(a[i][j]>row_max[i])
row_max[i]=a[i][j];
}
printf("第%d行的最大数为:%d\n",i+1,row_max[i]);
}
printf("\n");
for(j=0;j<=3;j++)
{
column_min[j]=a[0][j];
for(i=1;i<=3;i++)
{
if(a[i][j]<column_min[j])
column_min[j]=a[i][j];
}
printf("第%d列的最小数为:%d\n",j+1,column_min[j]);
}
printf("%d %d\n",a[0][0],a[0][3]);
for(i=0;i<=3;i++)
{
printf("%d ",sum);
sum=a[i][i]+a[i][3-i]+sum;
}
printf("\n对角线总和为%d\n",sum-1);
}
但我就是解决不了。。。
主要问题就是a[0][0]的值好像是第四行的最大值,但是我不知道,我哪里改变a[0][0]的值了
int a[4][4],row_max[3],column_min[3];
数组越界
row_max
这里只有3个元素
for(j=1;j<=3;j++)
这里应该是0~2,而不是1~3
别德类似