【题目要求必须使用到指针!】
写一子函数transpose(),将一个3*3的整型矩阵转置。【题目要求必须使用到指针!】
#include<stdio.h>
void transpose(int *a)
{int i,j,t;
for(i=0;i<2;i++)
{t=*(a+i);
*(a+i)=*(a+3*i+2);
*(a+3*i+2)=*(a+2*3+2-i);
*(a+2*3+2-i)=*(a+3*(2-i));
*(a+3*(2-i))=t;
}
}
int main()
{ int i,j,a[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
transpose(a[0]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
return 0;
}
void transpose(int *a)
{int i,j,t;
for(i=0;i<2;i++)
{t=*(a+i);
*(a+i)=*(a+3*i+2);
*(a+3*i+2)=*(a+2*3+2-i);
*(a+2*3+2-i)=*(a+3*(2-i));
*(a+3*(2-i))=t;
}
}
int main()
{ int i,j,a[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
transpose(a[0]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考