题目

{% fold 点击显/隐题目 %}

编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。
输入有两行,第一行是一个字符串(注意,内部可能有空格!),第二行是一个字符。
经过处理以后的字符串。
123-45-678 -
12345678

{% endfold %}

题解

第二行数据可能有问题,用gets读更稳妥一点

代码

{% fold 点击显/隐代码 %}```cpp 字符删除 https://github.com/OhYee/sourcecode/tree/master/ACM 代码备份
#include
#include
#include
#include
#include

using namespace std;

const int maxn = 25;
char s[maxn];
char c[maxn];

void de(int pos)
{
int len = strlen(s);
for(int i=pos; i<len;++i)
s[i] = s[i+1];
}

int main()
{
freopen("in.txt","r",stdin);

gets(s);
gets(c);
//scanf("%s\n%c",s,&c);
while(1){
    bool flag = true;
    int len = strlen(s);
    for(int i=0;i<len;++i){
        if(s[i]==c[0]){
            de(i);
            flag=false;
            break;
        }
    }
    if(flag)
        break;
}
printf("%s",s);
return 0;

}

{% endfold %}