请编写函数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:%s\n ",t);
参考答案:
void fun(char *s,char t[])
{
int i, j=0,k=strlen(s); /*k为字符串的长度*/
for (i=l; i<k; i=i+B) /*将s所指字符串中下标为奇数的字符存入t所指字符串中*/
t [j++]=s [ii;
t[j]=’\0’; /*在字符申最后加上结束标志*/
}
解析:
本题使用了一种泳远是奇数的循环方法,即for(i=1; i<k;i=i+2),因为开始时的值为1,当i+2循环时,此值永远是奇数。