填空题
请补充函数fun(),该函数的功能是:把ASCⅡ码为偶数的字符从字符串s打中删除,结果仍然保存在字符串srt中,字符串str从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdef”,输出“ace”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#inc lude< stdio, h>
#define N 80
{{U}} 【1】 {{/U}}
{
int i, j;
{{U}} 【2】 {{/U}}
for (i=0;i<n;i++)
{
if (s [i] %2!=0)
s [j++]=s [i];
}
{{U}} 【3】 {{/U}};
}
main ( )
{
int i=0, strlen=0;
char str[N];
clrscr ();
printf ("/nInput a string:/n");
gets (str);
while (str [i] !=' /0' )
{
strlen++;
i++;
}
fun (str, strlen);
printf("/n*** display string ***/n");
puts (str);
}
【正确答案】
1、[1]void fun(char s[],int n)
【答案解析】[2]j=0
[3] s[j]='/0'
[解析] 填空1:由主函数main()调用fun()函数的格式可以知道,fun()函数没有返回值,第二个参数是字符数组,第二个参数是整型变量。填空2:变量j声明时没有初始化,所以在使用j之前要将它初始化为0。填空3:当把所有ASCⅡ码为
偶数的字符都存入字符串s中后,要在最后加上‘/0’,表示字符串的结束。