課程
/后端開發(fā)
/C
/C語言入門
求大神解答
2019-02-01
源自:C語言入門 6-11
正在回答
可以觀察對角線元素的下標(biāo)的特點(diǎn),一個是行等于列,一個是行加列等于2,所以可以把if()語句寫成這樣:
?if(i?==?j?||?(i?+?j)?==?2)
沒有必要去關(guān)心元素本身的值。
首先你應(yīng)該明確對角線元素的下標(biāo)具有什么特征:
從左上往右下的那條對角線的元素的特征:行列下標(biāo)相等,如arr[0][0], arr[1][1];
從右上往左下的那條對角線的元素的特征:行列下標(biāo)之和為2,如arr[0][2], arr[1][1];
你應(yīng)該根據(jù)這個設(shè)置判斷條件,你可以用兩個for循環(huán),一個對i,一個對j。
你可以在紙上畫畫:
1????2????3
4????5????6
7????8????9
還有你可能有這樣的疑問: 1 + 5 +9 +3 +5+7 = 30, 為什么答案是25?
因為題目問的是對角線元素之和,你這樣就算多了1次5, 而我們的程序之所以算出的是25,是因為系統(tǒng)一個一個地檢驗元素是否滿足i == j 或者i + j ==2,遇到5時發(fā)現(xiàn)兩個條件均滿足,但只算一次,滿足條件。
你的程序中的=有誤,表賦值,==才是相等,
#include?<stdio.h> int?main() { ????int?arr[3][3]?=?{{1,2,3},{4,5,6},{7,8,9}}; ????int?i,j; ????int?sum=0; ????for(i=0;i<3;i++) ????{ ???????sum+=arr[i][i]; ????} ????for(i=2;i>=0;i--) ????{ ????????sum+=arr[i][2-i]; ????} ????printf("對角線元素之和是:%d\n",sum-5); ????return?0;???? }
這是我的代碼,你看看吧,還有就是==是表判斷,=是賦值
舉報
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
7 回答不知道錯在哪里了,運(yùn)行不了
3 回答求解答啊 不知道哪錯了 運(yùn)行不出來
1 回答不知道是哪里錯了,運(yùn)行不了,求解
3 回答不知道哪里錯,也不知道怎么改
3 回答不知道哪里出錯了。。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-02-22
可以觀察對角線元素的下標(biāo)的特點(diǎn),一個是行等于列,一個是行加列等于2,所以可以把if()語句寫成這樣:
沒有必要去關(guān)心元素本身的值。
2019-02-15
首先你應(yīng)該明確對角線元素的下標(biāo)具有什么特征:
從左上往右下的那條對角線的元素的特征:行列下標(biāo)相等,如arr[0][0], arr[1][1];
從右上往左下的那條對角線的元素的特征:行列下標(biāo)之和為2,如arr[0][2], arr[1][1];
你應(yīng)該根據(jù)這個設(shè)置判斷條件,你可以用兩個for循環(huán),一個對i,一個對j。
你可以在紙上畫畫:
1????2????3
4????5????6
7????8????9
還有你可能有這樣的疑問: 1 + 5 +9 +3 +5+7 = 30, 為什么答案是25?
因為題目問的是對角線元素之和,你這樣就算多了1次5, 而我們的程序之所以算出的是25,是因為系統(tǒng)一個一個地檢驗元素是否滿足i == j 或者i + j ==2,遇到5時發(fā)現(xiàn)兩個條件均滿足,但只算一次,滿足條件。
你的程序中的=有誤,表賦值,==才是相等,
2019-02-01
這是我的代碼,你看看吧,還有就是==是表判斷,=是賦值