A-A+

请编写函数fun() 其功能是:将s所指字符串中下标为奇数的字符删除 串中剩余字符形成的新串

2022-08-05 23:58:01 问答库 阅读 173 次

问题详情

请编写函数fun(),其功能是:将s所指字符串中下标为奇数的字符删除,串中剩余字符形成的新串放在t所指数组中。
例如,当s所指字符串中的内容为siegAHdied,则在t所指数组中的内容应是seAde。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
include<string.h>
void fun(char*S,char t[])
{
}
main()
{
char s[100],t[100];
clrscr();
printf("nPlease enter string s:");
scanf("%S",S);
fun(S,t);
printf("nThe result is:%sn",t);
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:void fun (char *Schar t[]){int ij=0k=strlen(s); /*k为字符串的长度*/for(i=0;i<k;i=i+2) /*将s所指字符串中下标为偶数的字符存入t所指字符串中*/t[j++]=s[i];t[j]='\0'; /*在字符串最后加上结束标志*/}
void fun (char *S,char t[]){int i,j=0,k=strlen(s); /*k为字符串的长度*/for(i=0;i<k;i=i+2) /*将s所指字符串中下标为偶数的字符存入t所指字符串中*/t[j++]=s[i];t[j]='\0'; /*在字符串最后加上结束标志*/} 解析:本题使用了一种i永远是偶数的循环方法,即for(i=0;i<k;i=i+2),因为开始时i的值为0,当i+2循环时,此值永远是偶数。

考点:字符,下标