C语言矩形转置

题目:输入三组数,每组三个数,对其进行矩形转置。
分析

  •   例:输入: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;
}

版权声明:本文为m0_65144570原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。