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

C 語言實作:4×4 矩陣最大最小值與座標、雙主對角線元素和

     編輯:關於C

需求

  • 輸入 4×4 整數矩陣。
  • 輸出最大值、最小值及其行列索引(0-based)。
  • 計算主對角線(i==j)與副對角線(i+j==3)元素之和(重疊中心點只加一次)。

完整代碼

#include 

int main(void) {
    int a[4][4];
    for (int i = 0; i < 4; ++i)
        for (int j = 0; j < 4; ++j)
            scanf("%d", &a[i][j]);

    int max = a[0][0], min = a[0][0];
    int max_r = 0, max_c = 0, min_r = 0, min_c = 0;

    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            if (a[i][j] > max) { max = a[i][j]; max_r = i; max_c = j; }
            if (a[i][j] < min) { min = a[i][j]; min_r = i; min_c = j; }
        }
    }

    int sum = 0;
    for (int i = 0; i < 4; ++i) {
        for (int j = 0; j < 4; ++j) {
            if (i == j || i + j == 3) sum += a[i][j];
        }
    }

    printf("max = %d at (%d,%d)\n", max, max_r, max_c);
    printf("min = %d at (%d,%d)\n", min, min_r, min_c);
    printf("diagonal sum = %d\n", sum);
    return 0;
}

關鍵點提示

  • 初始化 max/min 為 a[0][0],避免未初始化比較。
  • 座標記錄同步更新。
  • 對角線條件 i==j || i+j==n-1 適用任意 N×N 方陣。
  • 若中心元素屬於兩條對角線(N 為奇數),只加一次,符合數學定義。

測試樣例

輸入:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

輸出:
max = 16 at (3,3)
min = 1 at (0,0)
diagonal sum = 68  # (1+6+11+16) + (4+7+10+13) = 34+34=68
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved