文章收藏-FAQ 位置:电脑学习网

字符串 s 中出现的 C 字符删除的不同实现方法

  1
  2    #include 〈stdio.h〉
  3    #include 〈string.h〉
  4    void delchar(char s[],  char c);
  5    int main()
  6    {
  7        char cc,ch[80];
  8
  9        cc=getchar();
 10        getchar();//erase Enter
 11        gets(ch);
 12        delchar(ch,cc);
 13        printf(“%s“,ch);
 14
 15        return 0;
 16    }
 17    void delchar(char s[], char c)
 18    {
 19        int i,k,len;
 20        len=strlen(s);
 21        for(i=0;s[i]!=’\0’;)
 22        {
 23             if(s[i]==c)
 24             {
 25                  for(k=i;k〈len;k++)
 26                  {
 27                       s[k]=s[k+1];
 28                  }
 29                  if (s[i]!=c)
 30                  {
 31                       i++;
 32                  }
 33             }
 34             else
 35               i++;
 36        }
 37    }
 38
 39

C++ STL version



  1    #include 〈vector〉
  2    #include 〈cstdio〉
  3    #include 〈cstring〉
  4    #include 〈iostream〉
  5    using namespace std;
  6    int main()
  7    {
  8        char cc,ch[80];
  9        cin〉〉cc;
 10        cin〉〉ch;
 11
 12        vector〈char〉v(ch,ch+strlen(ch));
 13        for (vector〈char〉::iterator it = v.begin();it!=v.end();)
 14        {
 15             if (*it==cc)
 16             {
 17                  it=v.erase(it);
 18             }
 19             else
 20              it++;
 21
 22        }
 23
 24        for (vector〈char〉::iterator it=v.begin();it!=v.end();it++)
 25        {
 26             cout〈〈*it;
 27        }
 28
 29        return 0;
 30    }
 31    
 32    


  1    #include 〈iostream〉
  2    #include 〈iterator〉
  3    #include 〈algorithm〉
  4    #include 〈functional〉
  5
  6    using namespace std;
  7    int main()
  8    {
  9
 10         remove_copy_if(istream_iterator〈char〉(cin), istream_iterator〈char〉(),    ostream_iterator〈char〉(cout), bind1st(equal_to〈char〉(),cin.get()));
 11            return 0;
 12    }
 13

  1
  2    int main()
  3    {
  4        remove_copy(istream_iterator〈char〉(cin), istream_iterator〈char〉(), ostream_iterator〈char〉(cout), cin.get());
  5    }

     [文章来源:“十万个为什么”电脑学习网]
     [网络地址:http://why100000.com]
     [版权声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系本站,我们会尽快予以更正。]
 

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822