游客 Signup | Login
中文 | En

3567 - 5.cpp

输入一个字符串到数组s(数组大小小于80)中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。例如,若s所指字符串中的内容为"ABCDEFG12345",其中字符CASCII码值为奇数,在数组中的下标为偶数, 因此必须删除;而字符1ASCII码值为奇数,在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是"BDF12345"

void fun(char s[], char  t[]);

要求输入用scanf("%s", s)

Input

每行输入1个字符串,字符串中不要输入空格

Output

输出删除后的字符串

Examples

Input

ABCDEFG12345
CDEFGHI54321

Output

BDF12345
DFH54321

Solution C

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
void fun(char  s[], char  t[])
{
     int i, j = 0 ;
    for(i = 0 ; i < strlen(s) ; i++)
      if(!((i % 2) ==0 && (s[i] % 2)))
        t[j++] = s[i] ;
    t[j] = 0 ;
}



int main()
{
   // freopen("in","r",stdin);
  //  freopen("out","w",stdout);
     char   s[80], t[80];
   int n,i;
  while(scanf("%d",&n)!=EOF){
  for(i=0;i<n;i++)
  {
  scanf("%s", s);

  fun(s, t);
  printf("%s\n", t);
  }
  }
  return 0;
}

Solution C++

#include<stdio.h>
#include<string.h>
int main()
{
	char ch[100],ch1[100];
	int i,j,k,t;
	while(scanf("%s",&ch)!=EOF)
	{
		j=0;
		t=strlen(ch);
		for(i=0;i<t;i++)
		{
			k=ch[i];
			if(k%2!=0&&i%2==0)
				ch[i]=0;
			if(ch[i]!=0)
			{
				ch1[j]=ch[i];
				j++;
			}
		}
		for(i=0;i<j;i++)
			printf("%c",ch1[i]);
		printf("\n");
	}
	return 0;
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题