#include<stdio.h> int main() { void convert(int a[][3]); int i,j,a[3][3],sum=0; printf("input:尀n");

2025-05-10 07:02:39
推荐回答(1个)
回答1:

#include
int main()
{
void convert(int a[][3]);
int i,j,a[3][3],sum=0;
printf("input:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("sum=%d\n",sum);
convert(a);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d",a[i][j]);printf("\n");}
return 0;
}
void convert(int a[][3])
{int i,j,t;
for(i=0;i<3;i++)
for(j=0;j<=i;j++)
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;}
}
你的程序有两个问题,一个是scanf后面的那个参数没写&。第二个就是为什么反转失败的原因了,第二个for循环中的j应该<=i,如果j<3则又多反转了一次也就是反转回来了。亲自调试过啦,你试试。