问题 填空题

请补充函数fun(),该函数的功能是:把字符下标能铍2或3整除的字符从字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdefghijk”,输出“bfh”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 80
void fun(char s[], int n)

int i, k;
【1】
for(i=0; i<n; i++)

s[k++]=s[i];
if( 【2】 )
k--;

【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]k=0 [2](i%2==0)||(i%3==0) [3]s[k]=’\0’

解析: 填空1;变量k声明时没有初始化,所以在使用前要对它初始化。因为k用作字符数组的下标,所以初始化为 0。填空2:如果当前字符的下标能被2或3整除,则不保存这个字符。填空3:将所有字符下标能被2或3整除的字符从字符串中删除后,在字符串的最后还要加上结束标记符’\0’。

多项选择题
多项选择题