矩陣轉置

c語言,c++發表於2020-12-16

在這裡插入圖片描述

輸入一個數字構成的矩形, 將矩形的值進行轉置後列印

輸入:
第一行 正整數n(1<n<10), 表示矩陣的邊長
隨後輸入一個矩陣
輸出:
轉置後的矩陣
樣例輸入:
3
1 2 3
4 5 6
7 8 9
樣例輸出:
1 4 7
2 5 8
3 6 9

程式碼執行結果
在這裡插入圖片描述
在這裡插入圖片描述

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
    int n, i, j, t, k = 0;
    printf("請輸入陣列的行和列\n");
    scanf("%d", &n);
    //順序賦值,
    if (n > 1 && n <= N)
    {
        int a[N][N];
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < n; j++)
            {
                k++;
                a[i][j] = k;
            }
        }
        //轉置
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < n; j++)
            {
                if (i > j) 
                {
                    t = a[i][j];
                    a[i][j] = a[j][i]; 
                    a[j][i] = t;
                }
            }
        }
        //列印結果
        printf("轉置後的結果\n");
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < n; j++)
            {
                printf("%4d", a[i][j]);
            }
            printf("\n");
        }
    }

    return 0;
}

相關文章