请编写函数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 *s,char t[ ])
{
int i,j=0,n;
n=strlen(s);
for(i=0;i<n;i++)
if(i%B!=0&&s[i]%B!=0)
{ t[j]=s[i];j++;}
t[j]=’\0’;
}
解析:
在解答本题时,首先要清楚一点:那就是在字符参与数值运算时,用的是其ASCII码值来进行计算。另外的一个考查点是判断某数是奇数的方法,即判断该数与2的余数是否为0。