關於C語言,本題為什麼for迴圈用了兩次呢,求詳解都是什麼情況下for迴圈需要多次使用啊謝謝

時間 2022-03-05 05:20:08

1樓:匿名使用者

既然你要詳細解釋,我就從題目開始來分析:

題目要求函式能幹3件事:

1、計算出平均分;2、統計低於平均分的人數;3、把低於平均分的分數儲存在另乙個陣列中

我們來分析一下:

首先,要做到這些是就必須遍歷陣列中的每乙個元素,因此迴圈是必須的,而且對於這種迴圈次數已知的問題(陣列元素數為9),我們一般會用for迴圈

其次,在設計程式的時候我們應遵守一項原則,盡量少地使用for迴圈的個數,尤其最好能避免for迴圈的巢狀問題(這道題顯然不需要)。因此,我們想一想用一次for迴圈是否能完成這3個任務。顯然是不行的,因為如果不計算出總的得分我們就無法得到平均分(任務1),進而就無法比較哪些低於平均分(任務2,3)。

所以乙個迴圈是不夠的,只能用兩個迴圈。

最後,我們來設計這兩個迴圈。第乙個迴圈只做一件事,就是把陣列中的每個元素依次相加得到總成績。迴圈結束以後我們就可以計算出平均分了。

接著我們發現任務2和3可以同時在第二個迴圈中進行,先判斷每個元素是否小於平均數,如果小於,就把它存入新陣列並且把用於統計人數的變數j自增,於是迴圈結束後我們所需要的人數和新陣列就都得到了

純手打,加個人分析

2樓:匿名使用者

這裡for用了兩次是你解題的需要,

第一次for迴圈,將所有分數加和,然後算出平均分;

第二次for迴圈,將所有分數跟平均分對比,低於平均分的放到below陣列中;

具體要用到幾個for迴圈,就看解題的需要(正如此題)。

3樓:匿名使用者

本題中兩次for是分開的,彼此沒有關係,刪除乙個不影響另乙個,不是for循壞的疊加

一次迴圈用乙個for,這個迴圈裡面的每一項還有乙個迴圈,再用乙個for,迴圈下有迴圈再用……

比如乙個級有5個班,用乙個for,乙個班有四組,第乙個for迴圈中疊加第二個for迴圈,一組中有12人,疊加第三個for……

其實for迴圈多次使用的問題不用考慮,使用很自然的事,該用時水到渠成

j**a程式設計時,什麼情況下使用try 。。catch。。語句?求詳解!

4樓:雲夢倩欣

需要捕捉異常的情況時使用!

c語言程式修改題。switch語句的每句case語句後為什麼不需要加break?求詳解

5樓:2b丶xiao年輕

系統讀到return就會結束當前函式,讀到break只是跳出swich而已。你如果加break,fun函式的結果都是 fun(g-1)+fun(g-2)

c語言程式修改題。switch語句的每句case語句後為什麼不需要加break?求詳解

C語言關於迴圈中包含靜態變數,c語言for迴圈裡,static變數也能儲存值嗎?為什麼?

首先,要知道作用域的概念。c有 塊作用域,檔案作用域和函式原型作用域。詳細內容書裡面可以講一章,涉及到鏈結型別,作用域,儲存時期。這裡只說一點,你可能比較關心,看下面這個例子 include char a global void global void local int main global 將...

c語言裡關於迴圈的問題,兩個個關於C語言迴圈跳出的問題?

飛貓警長 從上面的 來看,程式的意圖好像是從鍵盤輸入若干個數字,然後輸出它們的和。這種情況一般有兩種解決方法,乙個是在輸入前確定數字個數,另乙個是設定乙個 或多個 特別的數字 或其他字元 作為輸入結束條件。上面的 屬於第二種解決方案,當輸入的數字大於或等於99時,迴圈將結束。對於不知道迴圈次數的情況...

C語言中,關於while迴圈的問題

include int main int argc,char argv 我在解釋一下,昨天沒說清楚。就算你只輸入了乙個a,這個時候scanf掃瞄緩衝區,發現不是整形,所以直接退出,指標仍舊指在a的位置,下次scanf呼叫的時候,指標仍舊指在a這裡,所以scanf不等待你輸入,但是a不是整數,又直接退...