关于二维数组的一道题,请大虾们帮忙解答一下,对于你们应该非常简单哈,谢谢!!!

2024-12-13 15:35:13
推荐回答(2个)
回答1:

#include "stdio.h"
#include "stdlib.h"

void dj(int a[4][4],int n)
{printf("对角线上的数是:\n");
int i,j;
for(i=0;iprintf("%d\t",a[i][i]);
for(i=n-1,j=0;i>=0;i--,j++)
printf("%d\t",a[j][i]);
}

void ghh(int a[4][4],int n)
{int i;
printf("\n");
for(i=0;iprintf("第%d行和是%d\n",i+1,a[i][0]+a[i][1]+a[i][2]+a[i][3]);
for(i=0;iprintf("第%d列和是%d\n",i+1,a[0][i]+a[1][i]+a[2][i]+a[3][i]);
}

void jh(int a[4][4],int n)
{int i,temp,j;
for(i=0;i<2;i++)
for(j=0;j{ temp=a[i][j],a[i][j]=a[i+2][j];a[i+2][j]=temp;}
}
void outp(int a[4][4],int n)
{int i,j;
printf("\n");
for(i=0;ifor(j=0;jprintf("%d\t",a[i][j]);
}

main()
{int a[4][4]={ 25, 36, 78, 13,12, 26, 88, 93,75, 18, 22, 32,56, 44, 36,58};
outp(a,4);
dj(a,4);
ghh(a,4);
jh(a,4);
outp(a,4);
system("pause");
}

回答2:

main() {
int a[3][5];
int point;
int i,j,r,l;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
point=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<5;j++)
if(a[i][j]>point)
point = a[i][j];
r++;
l++;
printf("最大值、行标、列标分别是:%d %d %d",a[i][j],r,l);
}