求转置矩阵问题(C语言)

描述

求一个三行三列的转置矩阵。

输入

第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项;

输出

每组测试数据的转置矩阵;
请在每组输出之后加一个换行

样例输入

2

1 2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9 1

样例输出 

1 4 7

2 5 8

3 6 9

2 5 8

3 6 9  

4 7 1

 利用指针进行计算

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int **arr;
    int roud,n,i,j,k,c;
    int a=0;
    scanf("%d",&roud);
    if(roud<20&&roud>0){
        while(roud--){
        arr=(int **)malloc(sizeof(int*)*3);
        for(i=0;i<3;i++){
            arr[i]=(int*)malloc(sizeof(int)*3);
            for(j=0;j<3;j++){
                scanf("%d",&c);
                if(c<10000)
                    arr[i][j]=c;
            }
        }
            for(k=0;k<3;k++){
                for(j=0;j<3;j++){
                   printf("%d ",arr[j][k]);
                }
                printf("\n");
            }
            printf("\n");
        }
    }
    free(arr);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42128813/article/details/81175235
今日推荐