填空題
給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回所剩字符串的個(gè)數(shù)。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長小于M。
請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include
#include
#define N 5
#define M 10
int fun(char (*ss)[M], int k)
{ int i,j=0,len;
for(i=0; i< __1__ ; i++)
{ len=strlen(ss[i]);
if(len<= __2__)
strcpy(ss[j++],__3__);
}
return j;
}
main()
{ char x[N][M]={"Beijing","Shanghai","Tianjing","Nanjing","Wuhan"};
int i,f;
printf("\nThe original string\n\n");
for(i=0;i f=fun(x,7); printf("The string witch length is less than or equal to 7 :\n"); for(i=0; i } 解題思路: 本題是根據(jù)給定的字符串?dāng)?shù)組中刪除串長大于某個(gè)值的字符串。 第一處:利用for循環(huán),從幾個(gè)字符串中進(jìn)行查找,程序中已經(jīng)給定了N個(gè)字符串,所以應(yīng)填:N。 第二處:串長由形參k來傳遞,所以應(yīng)填:k。 第三處:如果字符串ss[i]的串長小于k,則該字符串仍存在原字符串?dāng)?shù)組中,位置由變量j 來控制,所以應(yīng)填:ss[i]。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |