请编写函数fun() 其功能是:将s所指字符串中下标为偶数的字符删除 串中剩余字符形成的新串
问题详情
请编写函数fun(),其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。
例如,当s所指字符串中的内容为ABCDEFGHIJK,则在t所指数组中的内容应是BDFHJ。
注意:部分源程序给出如下。
请勿改动主函数main口其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio. h>
include<stdio .h>
include<string.h>
void fun(char *s,char t[])
{
}
main ()
char s[l00] ,t[l00];
clrscr ();
printf("%nPlease enter string S: ");
scanf("%s ",s);
fun(s,t);
prlntf("nThe result is:%sn ",t);
}请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:void fun(char *schar t[]){int i j=0k=strlen(s); /*k为字符串的长度*/for (i=l; i<k; i=i+2) /*将s所指字符串中下标为奇数的字符存入t所指字符串中*/t [j++]=s [ii;t[j]='\0'; /*在字符申最后加上结束标志*/}
void fun(char *s,char t[]){int i, j=0,k=strlen(s); /*k为字符串的长度*/for (i=l; i<k; i=i+2) /*将s所指字符串中下标为奇数的字符存入t所指字符串中*/t [j++]=s [ii;t[j]='\0'; /*在字符申最后加上结束标志*/} 解析:本题使用了一种泳远是奇数的循环方法,即for(i=1; i<k;i=i+2),因为开始时的值为1,当i+2循环时,此值永远是奇数。