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

求兩條對角線上行列下標均為偶數元素之和:C語言實現與邏輯詳解

     編輯:C++ 入門

矩陣對角線偶數下標元素求和

本題要求計算 5×5 矩陣中,同時滿足「位於主對角線或副對角線」且「行下標與列下標均為偶數」的元素之和。注意:中心元素 (2,2) 同時屬於兩條對角線,只能計算一次。

判斷邏輯詳細拆解

  • 主對角線條件:i == j
  • 副對角線條件:j == 4 - i (對於 0-based 5×5 矩陣)
  • 偶數下標條件:i % 2 == 0 且 j % 2 == 0
  • 綜合條件:(i==j && i%2==0) || (j==4-i && j%2==0 && i%2==0)

完整 C 語言代碼

#include 
int main() {
    int sum = 0, i, j;
    int a[5][5];
    // 輸入矩陣
    for (i = 0; i < 5; i++)
        for (j = 0; j < 5; j++)
            scanf("%d", &a[i][j]);
    // 求和邏輯
    for (i = 0; i < 5; i++) {
        for (j = 0; j < 5; j++) {
            if ((i == j && i % 2 == 0) || 
                (j == 4 - i && j % 2 == 0 && i % 2 == 0))
                sum += a[i][j];
        }
    }
    printf("sum=%d\n", sum);
    return 0;
}

關鍵點提示

中心元素 a[2][2] 同時滿足 i==j 和 j==4-i,但邏輯或 || 的短路特性配合條件判斷,確保其只被加入一次。若改用分開的 if 語句需額外去重。

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