问题 问答题

请编写一个函数void fun(cbara [], charb [], int n),其功能是:删除一个字符申中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
# include <stdio.h>
# include <conio.h>
# define LEN 20
void fun (char a[], char b [], int n)


main ()

char str1 [LEN], str2 [LEN];
int n ;
clrscr ();
printf ("Enter the string : \n") ;
gets (str1) ;
printf ("Enter the position of the string
deleted: ");
scanf ("%d", &n) ;
fun (str1, str2, n) ;
printf ("The new string is : %s \n",
str2) ;

答案

参考答案:void fun {char a[], char b[],int n)
{
int i,k=0;
for(i=0;a[i]!=‘\0’;i++)
if (i!=n) /*将不是指定下标的字符存入数组b中*/
b[k++]=a[i];
b[k]=‘\0’; /*在字符串最后加上结束标记*/
}

解析: 本题要求删除字符串中指定下标的字符,即相当于把不是指定下标的字符留下。所以要用if(i!=n),注意不能写成“=”运算。

选择题
多项选择题