二、程序填空題(共18分l
下列給定程序中,函數(shù)fun的功能是:把形參a所指數(shù)組中的小值放在元素a[o]中,接著把a(bǔ)_所指數(shù)組中的大值放在a[1]元素中;再把a(bǔ)所指數(shù)組元素中的次小值放在a[2]中,把a(bǔ)所指數(shù)組元素中的次大值放在a[3],以此類(lèi)推。
例如,若a所指數(shù)組中的數(shù)據(jù)初排列為:9、1…4 2 3、6、5、8、7;則按規(guī)則移動(dòng)后,數(shù)據(jù)排列為:1、9.2、8:3、7、4、6、5。形參13.中存放a所指數(shù)組中數(shù)據(jù)的個(gè)數(shù)?!?BR> 規(guī)定fum函數(shù)中的max存放當(dāng)前所找的大值,px存放當(dāng)前所找大值的下標(biāo)。請(qǐng)?jiān)诔绦虻南聞澗€處填人正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANKl.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!


三、程序修改題(共18分)
下列給定程序中函數(shù)fun的功能是。用遞歸算法計(jì)算斐波拉契數(shù)列中第n項(xiàng)的值。從第l項(xiàng)起,斐波拉契數(shù)列為:1、1、2、3、5、8、l3、21、……
例如,若給n輸入7,則該項(xiàng)的斐波拉契數(shù)值為l3。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

四、程序設(shè)計(jì)題(共24分)
某學(xué)生的記錄由學(xué)號(hào)、8門(mén)課程成績(jī)和平均分組成,學(xué)號(hào)和8門(mén)課程的成績(jī)已在主函數(shù)中給出,請(qǐng)編寫(xiě)函數(shù)fun,其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。
例如,學(xué)生的成績(jī)是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fIm的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。


二、程序填空題
(1)a[i](2)a[j](3)a[j]
【考點(diǎn)分析】
本題考查:數(shù)組的引用;if語(yǔ)句條件表達(dá)式,如果表達(dá)式的值為真,則執(zhí)行下面的語(yǔ)句,如果該值為假,財(cái)不執(zhí)行下面的語(yǔ)句。
【解題思路】
填空l(shuí):for循環(huán)語(yǔ)句循環(huán)體中將數(shù)組元素a[i]賦值給變量max和變量rain。
填空2:通過(guò)for循環(huán),找到數(shù)組中的大值,if語(yǔ)句的條件表達(dá)式是mu
填空3:同理,此處if語(yǔ)句的條件表達(dá)式是min>a[j]。
【解題寶典】
求大值或者小值的題目,一般都是假設(shè)一個(gè)元素大或小,然后通過(guò)if條件語(yǔ)句將該元素和其他元素進(jìn)行比較操作來(lái)完成。
三、程序修改題
【參考答案】
去掉分號(hào)
(2Case l:caBe
2:return l;
【考點(diǎn)分析】
本題考查:switch語(yǔ)句,其一般形式為switch(表達(dá)式)
cage常量表達(dá)式l:語(yǔ)句l;case常量表達(dá)式2:語(yǔ)句2;
cm常量表達(dá)式n:語(yǔ)句n;default:語(yǔ)句n+1;
其中switch(表達(dá)式)后不應(yīng)該帶有“;”,同時(shí)case語(yǔ)句常量后應(yīng)該是“:”。
【解題思路】
C語(yǔ)言中,switch語(yǔ)句之后不能有分號(hào),并且case語(yǔ)句常量后應(yīng)用的是冒號(hào)。.
四、程序設(shè)計(jì)題
void fun(STREC*a)
inti:
a一>ave=0.0:
fbr(i=0;i
a->ave/=N;/}求平均分*/}
【考點(diǎn)分析】
本題考查:結(jié)構(gòu)體類(lèi)型成員運(yùn)算,指向結(jié)構(gòu)體類(lèi)型的指針變量作函數(shù)參數(shù)。
【解題思路】
本題考查自定義形參的相關(guān)知識(shí)點(diǎn),程序流程是這樣的:在如n()函數(shù)中求出平均分后,返回到主函數(shù)時(shí)平均分也要帶回,所以只能定義一個(gè)指針類(lèi)型的形參STREC·a,此時(shí),引用成員的方式可以使用指向運(yùn)算符,即a一>ave和a—>s[i],當(dāng)然也可用(*a),ave和(*a).S[i]。