填空题 请补充函数proc(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数proc()。
例如,输入“abcdefghi”,输出“bdfh”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 80
void proc(char str[], int n)
{
int i, j;
j=0;
for(i=0; 1; i++)
{
if( 2)
str[j++]=str[i];
}
3;
}
void main()
{
int i=0, strlen=0;
char str[M];
system("CLS");
printf("/nInput a string:/n");
gets(str);
while(str[i]!="/0")
{
strlen++;
i++;
}
proc(str, strlen);
printf("/n***display string***/n");
puts(str);
}
【正确答案】
【答案解析】i<n str[i]%2==0 str[j]="/0"[解析] 由函数proc()可知,变量i为字符串str的字符下标,变量n为字符串str的长度,因此,第一处填“i<n”;判断字符串str中的每一个字符的ASCII码值是否为奇数,将ASCII码值为偶数的字符保存在原来的字符串中,删除ASCII码值为奇数的字符,因此,第二处填“str[i]%2==0”;为新的字符串添加结束符,因此,第三处填“str[j]="/0"”。