题目
{% 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 %}