请补充函数fun(),该函数的功能是:把ASCⅡ码为偶数的字符从字符串s打中删除,结果仍然保存在字符串srt中,字符串str从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdef”,输出“ace”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#inc lude< stdio, h>
#define N 80
【1】
int i, j;
【2】
for (i=0;i<n;i++)
if (s [i] %2!=0)
s [j++]=s [i];
【3】 ;
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]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’,表示字符串的结束。