本題要求計算 5×5 矩陣中,同時滿足「位於主對角線或副對角線」且「行下標與列下標均為偶數」的元素之和。注意:中心元素 (2,2) 同時屬於兩條對角線,只能計算一次。
i == jj == 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)#includeint 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 語句需額外去重。