1[填空題]給定程序中,函數(shù)fun的功能是:計算形參X所指數(shù)組中N個數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),將所指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)組的前部,小于等于平均值的數(shù)據(jù)移至X所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。
例如,有l(wèi)0個正數(shù):46、30、32、40、6、17、45、15、48、26,平均值為30.500000。
移動后的輸出為:46、32、40A5、48、30、6、17、15、26。
請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。
注意:部分源程序在文件BLANKl.C中。
不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
(1)sdN (2)j++ (3)一1
【解題思路】
填空l:由原程序可知,av代表的是平均值,而平均值的求法是所有數(shù)的總和除以數(shù)的個數(shù),因而本空應該填寫s/N。
填空2:y數(shù)組代表暫時存放X數(shù)組,if(X[i]>av)表達的是當x數(shù)組中的數(shù)大于平均值時,應該把這些大于平均值的數(shù)放在y數(shù)組的前半部分,因而此空應該填y[j++]。
填空3:此空表明當x[i]不等于什么時,X[i]中的數(shù)要賦值給Y數(shù)組,由題意可知此空只能填寫一1。
2[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World
參考答案:A
參考解析:P是指向二維字符數(shù)組第二行One+Dream!的數(shù)組指針,所以長度是l0,打印輸出的也是該字符串。
3[簡答題]學生的記錄由學號和成績組成,N名學生的數(shù)據(jù)已放入主函數(shù)中的結構體數(shù)組s中,請編寫函數(shù)fun,其功能是:把分數(shù)最高的學生數(shù)據(jù)放在b所指的數(shù)組中。注意:分數(shù)最高的學生可能不止一個,函數(shù)返回分數(shù)最高的學生人數(shù)。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
試題程序:
參考解析:
【考點分析】
本題考查:結構體數(shù)組操作;用循環(huán)判斷結構查找數(shù)組中的最大值。
【解題思路】
該程序使用兩個循環(huán)判斷語句,第1個循環(huán)判斷語句的作用是找出最大值;第2個循環(huán)判斷語句的作用是找出與max相等的成績(即最高成績)的學生記錄,并存入b中。
【解題寶典】’
對于如何找出數(shù)組中最大值(多個相等)的方法,我們已經不陌生。如何對結構體數(shù)組進行類似操作呢?
掌握以下語句:
4[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.7B.10C.8D.9
參考答案:D
參考解析:調用f(a,b)函數(shù)返回3,調用f(a,c)函數(shù)返回6,所以外層調用f(f(a,b),f(a,c));即調用f(3,6)函數(shù)返回9。
5[單選題] 有以下程序
程序的輸出結果是
A.9B.14C.10D.15
參考答案:D
參考解析:考查函數(shù)的遞歸調用,只需要一步一步遞歸調用fun函數(shù)即可,執(zhí)行fun(5)=5+(4+(3+(2+fun(1))))=15。所以答案為D選項。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |