1樓:司馬唐遷
兩層for迴圈的執行順序:
其實對於兩層for迴圈,可以拆成多個一層的for迴圈。如上就可以拆成如下的for迴圈:
for(j=0;j<5;j++)
sum=sum+s[0][j];
s[0][5]=sum/5;
}for(j=0;j<5;j++)
sum=sum+s[1][j];
s[1][5]=sum/5;
}......
for(j=0;j<5;j++)
sum=sum+s[5][j];
s[5][5]=sum/5;
}看明白了嗎,每次i都會執行一次內部for迴圈,只不過每次i的取之不同而已。
再來說說那個陣列:
float s[6][6]=,,,,,};
這是乙個二維陣列,長度都是6.首先有6個一維陣列作為外層陣列的元素,這個很明確,如下:
s[0] = ;
s[1] = ;
.....
s[5] = ;
從原始的定義s[6][6]知道,如上陣列長度都是6,但明顯這些陣列只有5個元素,那麼就預設第六個元素的值為0.所以如上陣列實際應該是這樣的:
s[0] = ;
s[1] = ;
.....
s[5] = ;
這樣就不難理解了,看這句**:
sum=sum+s[i][j];
由於j的取值最大為4,也就是說,這樣迴圈下去,sum的值就是s[i]的前五個元素的和。接下來的s[i][5]=sum/5;就不難理解了,這是將前五個數的和取平均值,放在第六個元素裡。
就是這麼簡單。
2樓:回憶在上輩子
你的陣列是6行6列的,s[i][5]是把每一列的平均數放在了該列的最後
你看下你的陣列每行按宣告的陣列應該是6個資料,而在賦初值時只有5個資料,分別為5門成績
而s[i][5]=sum/5就是把每行5門成績的平均分算出來然後放在該行的最後
這下明白了吧
補充:你的這個外迴圈是控制列的,外迴圈第迴圈一次裡面的內迴圈就要迴圈5次,內迴圈是控制行的
目的是迴圈的每一列時再迴圈5次實現5門成績相加再算出平均值放到該列的最後
3樓:匿名使用者
這個程式是先執行for(i=0;i<=5;i++) ,i=0代表第乙個學生成績的第乙個,然後設定和為零,執行for(j=0;j<5;j++) sum=sum+s[i][j]:迴圈5次把第乙個學生的成績總和算出來,s[i][5]=sum/5;是把第乙個學生的成績算出平均分尋在陣列的s[0]【5】也就是陣列裡第乙個學生各科成績的後面。之後i ++變成i=1,執行for(j=0;j<5;j++) sum=sum+s[i][j]:
又算成第二個學生的平均成績存在其成績的後面。看懂這個程式主要是你要知道二維陣列是什麼結構,程式裡定義的陣列float s[6][6] 其實是有7*7個儲存單元的。希望你能看懂我在說什麼
c語言程式設計序,c語言程式程式設計
首先根據題意,每月需還本金5000元 60萬除以120個月 然後每月的利息等於還貸本金總額乘以月利率 即 第乙個月為60萬乘以,第二個月為59萬5000乘以0.005,以此類推 所以最後的程式應該為 include int main void printf repayment d repayment...
c語言程式設計 輸入學生5門課成績,分別用函式求1)每
這裡定義的陣列score 2 3 這裡使用的是max a 0 0 v 0 v 1 3 沒有括號 printf the 平均成績是 d v i 這裡輸且僅輸出一次,此時i 2,是個越界的值 這樣看這段 本身就是錯的,沒有什麼可取的地方下面這段是譚老師參考書上的乙個例題,大意相似,可以參考一下要求 通過...
C 程式設計簡單問題,c語言程式設計問題
一般正規的學校都不會教表現層方面的東西,只介紹語言本身是程式設計思路,寫windows介面涉及到使用windows api的範疇了,他已經不是純粹的程式設計的東西,商業化的成分更大一些。程式最重要的是思想,寫介面什麼的並不複雜,而且這樣的工作也不需要多少人來說。越是大公司,程式對它們來說就是理念遠大...