二、程序填空題
41函數(shù)fun()的功能是:逆置數(shù)組元素中的值。形參n給出數(shù)組中數(shù)據(jù)的個數(shù)。
例如:若a所指數(shù)組中的數(shù)據(jù)依次為:1、2、3、4、5、6、7、8、9,則逆置后依次為:9、8、7、6、5、4、3、2、1。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在fun()函數(shù)的橫線上填入所編寫的若干表達式或語句。
試題程序:
參考解析:
【1】n/2【2】i【3】a[n-i-1]
【解析】fun()函數(shù)實現(xiàn)的功能是實現(xiàn)數(shù)組的逆置。具體步驟通過參數(shù)傳遞,得到數(shù)組指針(即數(shù)組名)和數(shù)組記錄大小的變量n,通過這兩個參數(shù)配置for循環(huán),遍歷數(shù)組的中間的元素位置,每次循環(huán)都將i位置和對應位置結(jié)點(i距離0位置等于其距離尾位置的結(jié)點)的元素交換,由此實現(xiàn)數(shù)組的逆置。
三、程序改錯題
42下列給定程序中,函數(shù)proc()的功能是求出數(shù)組中最小數(shù)和次最小數(shù),并把最小數(shù)和arr[O]中的數(shù)對調(diào),次最小數(shù)和arr[1]中的數(shù)對調(diào)。
請修改程序中的錯誤,使它能得到正確結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
參考解析:
四、程序設計題
43請編寫函數(shù)proc(),它的功能是求Fibonacci數(shù)列中小于n的最大的一個數(shù),結(jié)果由函數(shù)返回。
Fibonacci數(shù)列F(n)的定義為
F(0)=O,F(xiàn)(1)=1
F(n)=F(n-1)+F(n-2)
例如,n=500時,函數(shù)值為377。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填寫所編寫的若干語句。
試題程序:
參考解析:
【解析】由題目中所給的公式可知,F(xiàn)ibonacci數(shù)列的第n項為第n-1項和第n-2項的和。要求Fibonacci數(shù)列中小于n的最大的一個數(shù)。首先根據(jù)公式求出Fibonacci數(shù)列的第n項的值,當?shù)趇項大于n,則返回第i-1項的值。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |