写一个函数一个3X3的距阵转置,即行列互换

来源:百度知道 编辑:UC知道 时间:2024/05/05 11:21:13
#include <stdio.h>
void main()
{int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<0;j++)
printf("%d",&a[i][j]);
printf("\n");
void (int b[3][3],i,j);
{int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}}
哪错了?

#include <stdio.h>

void swap(int a[][3])/*函数基本没改,除了参数*/
{
int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}

void main()
{int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++) /*这里j<3*/
printf("%d",a[i][j]); /*这里没有取地址符号&*/
printf("\n");
}/*这个for最好加个{},显示矩阵*/
swap(a);/*调用函数*/
for(i=0;i<3;i++) /*输出交换后的矩阵*/
{
for(j=0;j<3;j++)
printf("%d",a[i][j]);
printf("\n");
}
}

错误的地方很多。。改为如下就可以了
#include <stdio.h>
void change(int b[3][3]) ;
void main()
{
int a[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
change(a);
for(i=0;i&l