PTA-矩阵的转置运算2(数组指针)

                                       矩阵的转置运算2 

使用数组指针编写程序,将一个n×n(n≤10)的矩阵进行转置,即将行与列互换,转置后再按n×n矩阵形式输出。

输入格式:

输入整数n,从第2行开始依次输入n×n个整数,各数以一个空格间隔。

输出格式:

输出n行n列的二维数组,每个元素右对齐输出占4列。

输入样例:

3
1 2 3 4 5 6 7 8 9

输出样例:

   1   4   7
   2   5   8
   3   6   9

解答:

#include <stdio.h>
#define N 10
int main()
{
    int n, i, j;
    int a[N][N] = {0}, b[N][N];
    int(*pa)[N], (*pb)[N];
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
    pa = &a[0];
    pb = &b[0];
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            *(*(pb + i) + j) = *(*(pa + j) + i);
            printf("%4d", b[i][j]);
        }
        printf("\n");
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章