一、程式填空題(共18分)
下列給定程式中,函式fun的功能是:從形參SS所指字串陣列中,刪除所有串長超過k的字串,函式
返回剩餘字串的個數。ss所指字串陣列中共有N個字串,且串長小於M。
請在程式的下劃線處填入正確的內容並將下劃線刪除,使程式得出正確的結果。注意:部分源程式在檔案BLANKl.C中。
不得增行或刪行.也不得更改程式的結構!
二、程式修改題(共18分)
下列給定程式中函式fun的功能是:逐個比較P.q所指兩個字串對應位置上的字元,並把ASCIl值大或相等的字元依次存放到C所指的陣列中,形成一個新的字串。
例如,若主函式中a字串為“aBCDeFgH”,b字串為“Abed”,則C中的字串應為“aBcdeFgH”。請改正程式中的錯誤,使它能得出正確的.結果。
注意:部分源程式在檔案MODll.C中,不得增行或刪行,也不得更改程式的結構!
三、程式設計題(共24分)
規定輸入的字串中只包含字母和*號。請編寫函式fun,其功能是:除了字串前導的。號之外,將串中其他*號全部刪除。在編寫函式時.不得使用C語言提供的字串函式.
參考答案
一、程式填空題
【參考答案】
(1)N(2)k(3)ss[i]
【考點分析】
本題考查:for迴圈語句;ff語句條件表示式;字串拷貝
函式strcpy的使用。
【解題思路】
填空1:for迴圈語句作用是遍歷字串陣列中的每一個字串,所以迴圈變數i的迴圈條件是i&1t;N。
填空2:題目要求刪除串長度小於k的字串,所以if條件語句的條件表示式是1en&1t;=k。。
填空3:通過字串拷貝函式將串長不大於k的字串另存,並記錄個數。
【解題寶典】
字串拷貝函式strcpy,其格式為:strcpy(字元陣列名1,字元陣列名2)功能:把字元陣列2中的字串拷貝到字元陣列1中。字串結束標識‘、0’也一同拷貝。字元數名2,也可以是一個字串常量。這時相當於把一個字串賦予一個字元陣列。
二、程式修改題
【參考答案】
(1)int k=0;(2)whffe(+p11+q)
【考點分析】
本題考查:變數初始化,需根據題意確定變數含義,然後對其進行初始化操作;whi1e迴圈語句。
【解題思路】
(1)變數k存放陣列c的下標,因此應初始化為0。
(2)whi1e迴圈語句的迴圈條件是判斷兩個字串是否到達結尾。
三、程式設計題
【參考答案】
程式設計題解析:
【考點分析】
本題考查:指標型變最定義;wh醜e迴圈語句;語句條件 表示式;字串結束標識‘