第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關(guān)于對角線元素條件

為什么可以用(i%2==0 && j%2==0)來表示?怎么得到的?

正在回答

7 回答

不好意思,上面給的代碼是錯的,我現(xiàn)在知道問題了。

對角線有主對角線和次對角線,主對角線是 ( i == j ),次對角線是 ( i + j == 矩陣維度 - 1 ),本例中次對角線是 ( i + j == 2 )。


而(i%2==0 && j%2==0)表示的是行號和列號都是偶數(shù)的位置,即下面矩陣為1的位置:

當矩陣維度是3時:

1?0?1
0?1?0
1?0?1

當矩陣維度是4時:

1?0?1?0
0?1?0?1
1?0?1?0
0?1?0?1

當矩陣維度是5時:

1?0?1?0?1
0?1?0?1?0
1?0?1?0?1
0?1?0?1?0

可以發(fā)現(xiàn),當舉證維度是3時,行號和列號都為偶數(shù)的位置正好是主對角線和次對角線,這只是一個巧合,因為當矩陣維度大于3時,他們的位置并不在主對角線線和次對角線上。

附上正確代碼:

#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++)????
????{
????????for(j=0;j<3;j++)???????
????????????{????????????
????????????????if(i==j)sum+=arr[i][j];????????????
????????????????else?if(i+j==2)sum+=arr[i][j];???????
????????????}????
????????}????
????printf("對角線元素之和是:%d\n",sum);????
????return?0;????
}


4 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Howard229

矩陣維度是5時少了一行,我不太適合寫文檔。。。
2019-02-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

藍布閣

我感覺這個是正確的呀!
2019-02-25 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Howard229 回復(fù) 藍布閣

矩陣維度為3是,被選中的應(yīng)該是下面這個樣子的 1 0 1 0 0 0 1 0 1 在這一章節(jié)的題目中,i%2==0 && j%2==0的結(jié)果是20,而正確結(jié)果是25,矩陣維度為3時他們也不相等。
2019-02-27 回復(fù) 有任何疑惑可以回復(fù)我~

對角線條件就倆,1是滿足從左上到右下的對角線,特點是i和j相同,

2是滿足從左下到右上的對角線,特點是i+j等于2,因為i最大時j最小,i每次加1,j每次減1,兩者的和不變

#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++)

? ? {

? ? ? ?for(j=0;j<3;j++){

? ? ? ? ? ? if(i == j || i + j == 2){

? ? ? ? ? ? ? ? printf("%d==>%d\n",i,j);

? ? ? ? ? ? ? ? sum +=arr[i][j];

? ? ? ? ? ? }? ?

? ? ? ?}

? ? ? ?

? ? }

? ? printf("對角線元素之和是:%d\n",sum);

? ? return 0;? ??

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

可以觀察對角線元素的下標的特點,一個是行等于列,一個是行加列等于2,所以可以把if()語句寫成這樣:

?if(i?==?j?||?(i?+?j)?==?2)

沒有必要去關(guān)心元素本身的值。

0 回復(fù) 有任何疑惑可以回復(fù)我~

這題對角線是1,5,9和7,5,3? 其中的5只記一次。 編寫的話因為都是奇數(shù)所以用取余

if(arr[i][j]%2!=0)

{sum+=arr[i][j];

? ? ? ? ? ??


0 回復(fù) 有任何疑惑可以回復(fù)我~

無視我的回答吧,我回答得一塌糊涂,是錯的

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

藍布閣

哈哈,你是真的有意思
2019-02-25 回復(fù) 有任何疑惑可以回復(fù)我~

附上正確代碼:

#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++)

? ? {

? ? ? ?for(j=0;j<3;j++)

? ? ? ? ?if(i==j)sum+=arr[i][j];?

? ? }

? ? printf("對角線元素之和是:%d\n",25);

? ? return 0;? ??

}

1 回復(fù) 有任何疑惑可以回復(fù)我~

對角線元素不應(yīng)該是( i == j ) 嗎?有問題來源嗎

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
C語言入門
  • 參與學(xué)習(xí)       926892    人
  • 解答問題       21441    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

關(guān)于對角線元素條件

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號