5月25日C語言練習題解析

2022-10-10 01:51:04 字數 1731 閱讀 6882

c語言題目解析

2023年5月25日上午

nightcat

以下所有**均在tdm-gcc 4.9.2編譯環境下通過

使用visual studio的同學請自行驗證

1. 假如我國國民生產總值的年增長率為9%,計算10年後我國國民生產總值與現在相比增長多少百分比,編寫程式。計算公式 p=(1+r)*(1+r),由於r是按百分比輸入,所以要變成小數r*100%。

其中p為增長百分比總數,r為增長率,n為增長年數

解析:這題可以用兩種方法計算,第一種是用for迴圈計算指數,第二種是用中的pow()函式計算指數。

第一種方法:(使用for迴圈計算指數)

第二種方法:(使用pow函式)

最終輸出結果:累積10年的9%增長率為236.736435%

易錯點:

格式符 %.2f 表示保留兩位小數;

注意r和p在輸入時都是百分數,輸入9(%)即表示0.09

2. 從鍵盤輸入乙個4位數x,程式設計計算x的每一位數字相加之和(忽視整數前的正負號)。例如,輸入x為1234,則由1234分離出其千位1,百位2,十位3,個位4,然後計算1+2+3+4=10,並輸出10。

解析:該題有兩種方法,第一種是將數字分別除和取餘,用單獨的變數儲存每位數字並相加;第二種是巢狀迴圈(關於巢狀迴圈的細節請查閱課本第124頁),使用4個變數進行巢狀遍歷,當4個變數等於原數字時,則將4個數字相加。

第一種:(對輸入數進行除法和取餘)

第二種:(巢狀迴圈法)

最終輸出結果(當輸入1234):10

易錯點:

對於使用巢狀迴圈,盡量使用花括號 分清層次

3. 三色球問題,若乙個口袋中放有12個球,其中有3個紅球,3個白球,6個黑球,從中任意取8個球,問共有多少種不同的顏色搭配?

解析:方法與第2題的第2個方法雷同,定義3層巢狀迴圈,迴圈條件值為紅白黑各種球類的數量。

例如,可以定義for迴圈語句:遍歷當有0、1、2、3個紅球時……

for( red = 0 ; red <= 3 ; red++ )

最終輸出結果:

易錯點:

注意調整每層迴圈的最大球數【巢狀迴圈的細節請查閱課本第124頁】

4. 編寫乙個單科學生成績處理程式,具體要求如下:

1) 學生個數定義成符號常量

2) 學生成績定義成一維陣列進行處理,並有鍵盤逐個輸入

3) 要求統計出平均成績,各個等級的人數及百分比

4) 資料輸入和輸出要有提示資訊

解析:對於一維陣列儲存成績,可使用迴圈語句進行輸入;統計出平均成績、找各等級的人數時,可使用迴圈取出陣列所有元素累加並除以學生個數,在迴圈體內使用條件控制分等級。

最終輸出結果:

易錯點:

1.該練習**段較長,注意各變數拼寫;

2.我將「每個分數等級的人數」變數設定為float是有原因的(人數總不可能是小數吧,怎麼會有2.5個人這樣的數量),這樣在編寫**的時候可以減少顯式轉換型別的過程。

我將總成績設定為float型別,那麼在賦值等號後的算術運算中,「被除數」變數必須是與承載「商」變數同一型別,例如:

此時輸出b=2.00000,這顯然不是我們想要的值。因為a和b的型別不一致

以下寫法是正確的:

或者保持a的int型別,在運算時加入顯式轉換型別:

5. 編寫乙個程式用於實現函式strcpy()的功能

解析:strcpy()函式的功能、引數和返回值詳見這裡。該方法主要考察字元陣列和指標應用。

第一種:(直接使用字元陣列)

《天天考串》激情09月25日 分析練習題解析

天天考串 激情09月25日 資料分析練習題解析 一 文字資料 1 5題 根據下面文字所提供的資訊回答問題 據調查,某省2006年小麥種植面積為2739萬畝,比上年增加169萬畝,預計總產量940萬噸,比上年增加90萬噸,平均單產343公斤 畝,其中預計白麥總產量558萬噸,紅麥總產量361萬噸,還有...

c語言練習題

下列敘述中不正確的是 c a 函式可以帶引數 也可以不帶引數。b main函式在c程式中必須有惟一乙個 c c程式的執行從main函式開始,所以main函式必須放在程式最前面 d 每個函式執行時,按函式體中語句的先後次序,依次執行每條語句 以下四個程式中,完全正確的是 d a include mai...

C語言練習題

1.兔子繁殖問題 設有一對新生兔子,從第三個月開始它們每個月都生一對兔子。按此規律,並假設沒有兔子死亡,一年後共有多少對兔子?答 include int main void 執行後結果 一年後的兔子數為 144 1 fib1 1 2 fib2 1 3 fib3 2 4 fib4 3 5 fib5 5...