首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

字符矩陣行排序與上下翻轉:N×N小寫字母方陣的雙重變換

     編輯:關於C語言

問題描述

輸入 N (≤100) 及 N 行長度 N 的小寫字母串。每行字符按字母序升序排序,然後將整個矩陣上下翻轉(第 1 行變第 N 行),輸出結果。

算法步驟

  1. 讀入 N 和 N 行字符串到二維陣列
  2. 對每行進行字符排序(冒泡/選擇/快排均可)
  3. 逆序輸出行:從 N-1 到 0

代碼實現

#include <stdio.h>

int main() {
    int i, j, n, l, t;
    char array[101][101];

    while (scanf("%d", &n) != EOF && n > 0 && n <= 100) {
        for (i = 0; i < n; i++) scanf("%s", array[i]);

        // 每行排序
        for (i = 0; i < n; i++)
            for (j = 0; j < n-1; j++)
                for (l = j+1; l < n; l++)
                    if (array[i][j] > array[i][l]) {
                        t = array[i][j];
                        array[i][j] = array[i][l];
                        array[i][l] = t;
                    }

        // 上下翻轉輸出
        for (i = n-1; i >= 0; i--) {
            for (j = 0; j < n; j++) printf("%c", array[i][j]);
            printf("\n");
        }
    }
    return 0;
}

測試樣例

輸入:

3
abc
edf
igh

輸出:

ghi
def
abc

排序後:abc, def, ghi → 翻轉:ghi, def, abc。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved