c語言程式設計,求學生5門課的平均成績,求高手指點,謝謝,萬分感激

時間 2021-05-02 20:11:54

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的範疇了,他已經不是純粹的程式設計的東西,商業化的成分更大一些。程式最重要的是思想,寫介面什麼的並不複雜,而且這樣的工作也不需要多少人來說。越是大公司,程式對它們來說就是理念遠大...