题目:输入三组数,每组三个数,对其进行矩形转置。
分析:
-
例:输入:1 2 3 结果:1 4 7 4 5 6 2 5 8 7 8 9 3 6 9
代码示例:
#include<stdio.h>
void move(int *p)
{
int i,j,k;
for(i=0; i<3; i++)
for(j=i+1; j<3; j++)
{
k=*(p+3*i+j);
*(p+3*i+j)=*(p+3*j+i);
*(p+3*j+i)=k;
}
}
int main()
{
int a[3][3],*p,i;
printf("Input matrix:\n");
for(i=0; i<3; i++)
scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
p=&a[0][0];
move(p);
printf("Now matrix:\n");
for(i=0; i<3; i++)
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
return 0;
}