A-A+

请编写函数fun() 其功能是将s所指字符串中除了下标为奇数 同时ASCII值也为奇数的字符

2022-08-05 21:09:19 问答库 阅读 172 次

问题详情

请编写函数fun(),其功能是将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除。字符串中剩余的字符所形成的一个新的字符串放在t所指的数组中。
例如:s所指字符串中的内容为ABCDEFG12345,其中字符A,的ASCII码值虽为奇数,但元素所在的下标为偶数,因此必需删除;字符1的ASCII码值为奇数,所在数组中的下标也为奇数,不删除,最后t所指的数组中的内容应是135。
请勿修改主函数main和其他函数中的任何内容,仅在函数su的花括号中填写若干语句。
文件test 27_2.cpp的内容如下;
include <conio.h>
include <stdio.h>
include <iostream.h>
include <string.h>
void fun(char *s,char t[ ])
{
}
void main ()
{
char s[100],t[100];
cout<<"Please enter string S: "<<end1;
gets(s);
fun(s, t);
puts(t);
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:void fun(char *schar t[ ]){int ij=0n;n=strlen(s);for(i=0;i<n;i++)if(i%2!=0&&s[i]%2!=0){ t[j]=s[i];j++;}t[j]='\0';}
void fun(char *s,char t[ ]){int i,j=0,n;n=strlen(s);for(i=0;i<n;i++)if(i%2!=0&&s[i]%2!=0){ t[j]=s[i];j++;}t[j]='\0';} 解析:在解答本题时,首先要清楚一点:那就是在字符参与数值运算时,用的是其ASCII码值来进行计算。另外的一个考查点是判断某数是奇数的方法,即判断该数与2的余数是否为0。

考点:奇数,下标