下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。SS所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程

admin2021-07-09  30

问题 下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。SS所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 5
#define M 10
int fun(char(*ss)[M],int k)
{int i,j=0,len;
/**********found**********/
for(i=0;i<【1】;i++)
{len=strlen(ss);
/**********found**********/
if(1en<=【2】)
/**********found**********/
strcpy(ss[j++],【3】);
}
return j;
}
main()
{char x[N][M]={’’Beijing’’,’’Chongqing’’,’’Tianjin’’,’’Nanjing’’,’’Guangzhou’’};
int j,f;
printf(’’\nThe original string\n\n);
for(i=0;i<N;i++)
puts(x);
printf(’’\n’’);
f=fun(x,7);
printf(’’The string witch length is less than or equal to 7:\n’’);
for(i=0;i<f;i++)puts(x);
printf(’’\n’’);
}

选项

答案1.N 2.k 3.ss[i]

解析 填空1:for循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量i的循环条件是i<N。
填空2:题目要求删除串长度小于k的字符串,所以if条件语句的条件表达式是len<=k。
填空3:通过字符串拷贝函数将串长不大于k的字符串另存,并记录个数。
字符串拷贝函数strcpy,其格式为:strcpy(字符数组名1,字符数组名2)功能:把字符数组2中的字符串拷贝到字符数组1中。字符串结束标识’\0’也一同拷贝。字符数组名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
转载请注明原文地址:https://kaotiyun.com/show/9ptp777K
0

最新回复(0)