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 }