当前位置:编程学习 > C/C++ >>

问题一百二十四:字符过滤

[plain]  Description 
 
输入一个字符串str和一个过滤字符串s(代表一个过滤表),将str中所有来自过滤表字符都滤除。  
 
Input 
 
输入数据有2行,第一行为str,第二行为s,字符串均不超过70个字符。 
 
Output 
 
输出滤除后的字符串。 
 
Sample Input 
 
 
asf$$a sf$$ 
$a 
 
Sample Output 
 
 
sf sf 

Description

输入一个字符串str和一个过滤字符串s(代表一个过滤表),将str中所有来自过滤表字符都滤除。

Input

输入数据有2行,第一行为str,第二行为s,字符串均不超过70个字符。

Output

输出滤除后的字符串。

Sample Input


asf$$a sf$$
$a

Sample Output


sf sf
  


[plain]  #include <stdio.h> 
#include <string.h> 
 
int main() 

        int i; 
        int j; 
        int l; 
        int n; 
        int m; 
        char a[70]; 
        char b[70]; 
        char c[70]; 
 
        gets(a); 
        gets(b); 
 
        n=strlen(a); 
        m=strlen(b); 
    
        for(i=0; i<m; i++) 
        {    
             l=0; 
            for(j=0; j<n; j++) 
            { 
               if(a[j]!=b[i]) 
               { 
                  c[l++]=a[j]; 
               } 
            } 
            c[l]=0; 
 
           for(j=0; j<l; j++) 
            { 
                 a[j]=c[j]; 
            } 
 
            n=l; 
            a[j]=0; 
        } 
 
        for(i=0; c[i]; i++) 
        { 
           printf("%c", c[i]); 
        } 
 
        return 0; 

#include <stdio.h>
#include <string.h>

int main()
{
        int i;
  int j;
  int l;
  int n;
  int m;
  char a[70];
  char b[70];
  char c[70];

  gets(a);
  gets(b);

  n=strlen(a);
  m=strlen(b);
  
  for(i=0; i<m; i++)
  {  
    l=0;
      for(j=0; j<n; j++)
   {
      if(a[j]!=b[i])
      {
         c[l++]=a[j];
      }
   }
            c[l]=0;

     for(j=0; j<l; j++)
   {
     a[j]=c[j];
   }

   n=l;
   a[j]=0;
  }

  for(i=0; c[i]; i++)
  {
     printf("%c", c[i]);
  }

     return 0;
}

\

 

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,