用指针实现将一个3*3的整型矩阵转置。
要求定义并调用函数void move(int *pointer),实现上述矩阵转置的功能。
输出格式:每行数据之间以空格分隔,最后一个数据后面没有空格
输入样例:
1 2 3
4 5 6
7 8 9
输出样例:
1 4 7
2 5 8
3 6 9
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
void move(int *pointer)
{
int i,j;
int k=0;
for(i=0;i<3;i++)
{
for(j=0;j<i;j++)
{
k=*(pointer+3*i+j);
*(pointer+3*i+j)=*(pointer+3*j+i);
*(pointer+3*j+i)=k;
}
}
}
int main()
{
int a[3][3];
int i,j;
int *pointer=NULL;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
pointer=&a;
move(pointer);
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
printf("%d ",a[i][j]);
}
printf("%d\n",a[i][2]);
}
return 0;
}