亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

我覺得這多維數代碼有問題

54e13e7a0001976703610311.jpg

? ? ? ?【0】【1】【2】

【0】1? ? ? ? 2? ? ? ?3

【1】4? ? ? ? 5? ? ? ?6? ? ??

【2】7? ? ? ? ?8? ? ? ?9

首先對角線之和就應該包括{【0,0】【1,1】【2,2】【0,2】【2,2】

但那代碼中的i%2==0且j%2==0只能求出【0,0】【2,2】再加上for外的【1,1】,求得的sum應該是15,那問題來了【0,2】【2,2】去哪了?sum的結果還能等于25?

&&這個應該是且不是或吧?

求解答

正在回答

6 回答

你可以參考一下我寫的,換成4*4或者5*5任意方形的矩陣都可以,比如arr[4][4] = {{1,2,3,4},{5,6,7,8},{1,2,3,4},{5,6,7,8}};? 然后row=column=4;你試試看

0 回復 有任何疑惑可以回復我~
#include?<stdio.h>int?main()
{????
????int?arr[3][3]?=?{{1,2,3},{4,5,6},{7,8,9}};
????int?i,j;????
????int?sum=0;????
????int?row,column;
????row?=?column?=3;????
????for(i=0;i<row;i++){???????
????????sum?+=?(i==column-i-1)?(arr[i][i]):(arr[i][i]+arr[i][column-i-1]);
????}????
????printf("對角線元素之和是:%d\n",sum);????
????return?0;????
}


2 回復 有任何疑惑可以回復我~

這代碼是寫的不好,我看了很多答案里的代碼都是只能求這道題的3*3矩陣,換成4*4,5*5就不行了,不過這個在這道題來說還是對的,i%2==0&&j%2==0,第一行滿足條件的是arr[0][0],arr[0][2],第二行沒有,第三行arr[2][0],arr[2][2],最后加上中心的arr[1][1],沒錯,但這樣的寫法是很差的,稍微換一下,換成4*4的矩陣,這個代碼全廢了。

1 回復 有任何疑惑可以回復我~

n*n矩陣,對角線元素應該有2n-1個,因為正反兩條對角線。第i行的對角線元素是每行里的正數第i個和倒數第i個,也就是a[i][i]和a[i][n-1-i]。把這些加起來,一重循環就夠了。最后別忘了減一次最中心的,因為這一元素被加了兩遍

1 回復 有任何疑惑可以回復我~

同理i=2且j=0的時候也是

0 回復 有任何疑惑可以回復我~

i=0 且 j=2的時候也符合的 你想想

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我覺得這多維數代碼有問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號