一、程式填空題
下列給定程式的功能是:從鍵盤輸入若干行字串(每行不超過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條件語句來完成。
【解題思路】
本題中第一個迴圈語句的作用是遍歷陣列求出最低分數,第二個迴圈語句的作用是將陣列中的元素與最低分比較,查詢是否存在與最低分相等的成績。