一、程序填空題
下列給定程序的功能是:從鍵盤輸入若干行字符串(每行不超過80個字符),寫入文件中,用一1作字符串輸入結束的標誌,然後將文件的內容顯示在屏幕上。文件的讀寫分別由函數Readrext和實現。
請在程序的下劃線處填人正確的內容並將下劃線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANKl.C中.不得增行或刪行,也不得更改程序的結構!
二、程序修改題(共18分)
下列給定程序中,函數fun的功能是:從低位開始依次取出長整型變量s中奇數位上的數,構成一個新數存放在t中。高位仍在高位,低位仍在低位。
例如,當s中的數爲7654321時,t中的數爲7531。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結構!
#include
三、程序設計題【共24分)
學生記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組中,請編寫函數fun,其功能是:把分數最低的學生數據放入b所指的數組中,注意:分數最低的學生可能不止一個,函數返回分數最低的'學生人數。:
注意:部分源程序在文件PROGl.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數flm的花括號中填入你編寫的若干語句。
參考答案
一、程序填空題
【參考答案】
(1)}fw(2)str(3)str
【考點分析】
本題考查:函數定義以及文件指針;fputs函數的功能是向指定的文件寫入—個字符串,其調用形式爲:fputs(字符串,文件指針)。
【解題思路】
填空1:定義函數,函數的形參是一個文件類型的指針。填空2:此處考查fputs函數的形式,應填人str。
填空3:依據p1intf函數的格式,輸出字符串內容,即printf(”%8”,str);。
二、程序修改題
【參考答案】
(1)void缸(1啊唱s,1ong}t)
(2)s1=s1·10;
【考點分析】函數定義,指針型變量;數值n和其各個位如何表示。
【解題思路】
(1)主函數中調用函數的參數爲地址,因此函數fun的形式參數應爲指針類型。
(2)重新組合一個數,從個位開始,然後十位,依次類推,因此每增加—位數,原數值需乘以10,即s1=s1}10;。
三、程序設計題
【考點分析】
本題考查:查找結構體數組中的最小數據,需要通過for循環語句和if條件語句來完成。
【解題思路】
本題中第一個循環語句的作用是遍歷數組求出最低分數,第二個循環語句的作用是將數組中的元素與最低分比較,查找是否存在與最低分相等的成績。