是不是用一个数组无法完成矩阵转置,帮帮忙找找错,谢谢。
# include "stdio.h"void main()
{void yy (int(*p)[3]);
void input (int(*p)[3]);
void output (int(*p)[3]);
int a [3][3];
input (a);
yy (a);
output(a);
}
void input (int(*p)[3])
{int i,j;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
scanf("%d",*(p+i)+j);
}
}
void yy (int(*p)[3])
{int i,j,temp;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{temp=*(*(p+i)+j);
*(*(p+i)+j)=*(*(p+j)+i);
*(*(p+j)+i)=temp;
}
}
void output (int(*p)[3])
{int i,j;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf("%d",*(*(p+i)+j));
printf("\n");
}
}
[ 本帖最后由 qsccsq123 于 2010-3-24 16:29 编辑 ]