ACMNO.19 C語言-對角求和 求一個3×3矩陣對角線元素之和。 輸入 矩陣 輸出 主對角線 副對角線 元素和 樣例輸入 1 2 3 1 1 1 3 2 1 樣例輸出 3 7
阿新 • • 發佈:2018-12-15
這個我做了改進,可以實現NXN的矩陣。求出對角線之和!
只需要修改定義的define z的值就好!
接下來,進入正題!
題目描述:
求一個3×3矩陣對角線元素之和。
輸入
矩陣
輸出
主對角線 副對角線 元素和
樣例輸入
1 2 3
1 1 1
3 2 1
樣例輸出
3 7
來源/分類
C語言
題目截圖:
思路:
直接修改#define z 修改後面的數值,就可以改變矩陣的大小啦! 本例子給出的是矩陣為4! 先來一個輸入的程式: for(i=0;i<z;i++) { for(j=0;j<z;j++) { cin>>a[i][j]; } } 接下來進行對角線求和! 兩個下標相等的是: if(i==j) {s+=a[i][j];} 然後是斜對角線的相加! if((i+j)==z-1)//下標減去1!就是斜對角線! {w+=a[i][j];} 然後就OK啦!
程式碼:
#include<iostream> using namespace std; #define z 4 int main() { int a[z][z]={0};int i,j;int s=0;int w=0; for(i=0;i<z;i++) { for(j=0;j<z;j++) { cin>>a[i][j]; } } for(i=0;i<z;i++) { for(j=0;j<z;j++) { if(i==j) {s+=a[i][j];} if((i+j)==z-1) {w+=a[i][j];} } //cout<<endl; } cout<<s<<" "<<w; }
程式碼截圖:
執行結果:
OJ結果: