計算機二級C語言復習題及答案
一、程序填空題
給定程序中。函數(shù)fun的功能是:在任意給定的9個正整數(shù)中找出按升序排列時處于中間的數(shù),將原數(shù)據(jù)序列中比該中間數(shù)小的數(shù)用該中間數(shù)替換,位置不變,在主函數(shù)中輸出處理后的數(shù)據(jù)序列,并將中間數(shù)作為函數(shù)值返回。
例如,有9個正整數(shù):1 5 7 23 87 5 8 21 45
按升序排列時的中間數(shù)為:8 處理后主函數(shù)中輸出的數(shù)列為:8 8 8 23 87 8 821 45
請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANKl.C中。不得增行或刪行,也不得更改程序的結構!
試題程序:
二、程序修改題
給定程序MODll.C中,fun函數(shù)的功能是:刪除b所指數(shù)組中小于10的數(shù)據(jù)。主函數(shù)中輸出刪除后數(shù)組中余下的數(shù)據(jù)。
請改正函數(shù)flm中指定部位的錯誤,使它能得出正確的結果。
注意:不要改動main函數(shù),不得增行或刪行.也不得更改程序的結構!
三、程序設計題
請編寫函數(shù)fun,其功能是:統(tǒng)計s所指字符串中的數(shù)字字符個數(shù),并作為函數(shù)值返回。
參考答案:
一、程序填空題
【參考答案】
(1)b[k](2)4或N/2(3)<
【解題思路】
數(shù)組中的9個數(shù)任意排列,要找到按升序排列時處于中間位置的數(shù),應首先對數(shù)組進行升序排列。因為只需找到中間位置的數(shù)即可,故不必對整個數(shù)組進行排序,只需要排列出數(shù)組的前半部分。找到中間數(shù)后,遍歷原數(shù)組,將小于中間數(shù)的元素進行替換。
填空1:利用選擇算法排序,先指定一個元素為最小,用這個數(shù)與其后的所有數(shù)進行比較,若找小于此數(shù),則進行替換。此處考查替換操作。
填空2:元素mid存放中間位置的`數(shù),數(shù)組長度為9,因此中間元素數(shù)為b[4]。
填空3:遍歷數(shù)組,當元素小于中間位置的數(shù)(即mid)時,進行替換。
二、程序修改題
【解題思路】
要刪除數(shù)組b中小于10的數(shù),應依次取出數(shù)組數(shù)組b中的元素與10進行比較,若不小于10,則將其存入數(shù)組t中,遍歷完成后,數(shù)組t中的元素即為所求,再將數(shù)組t中的元素保存到數(shù)組b中即可。
(1)元素hum存放不小于10的元素的個數(shù),應將其初始化為0。
(2)將數(shù)組b中不小于10的元素存人數(shù)組t中,同時使數(shù)組t的下標加1。
(3)語法錯誤,沒有nun這個變量,應該為num。
三、程序設計題
【解題思路】
要統(tǒng)計字符串中數(shù)字字符的個數(shù),首先應定義變量n,并初始化為0,然后遍歷字符串,逐個判斷字符是否為數(shù)字字符,判斷條件為該元素的ASCII碼在字符0和9的ASCII碼之間,若判斷條件成立,則使n的值加1,否則,繼續(xù)判斷下一個字符,直到字符串結束。
【計算機二級C語言復習題及答案】相關文章: