题目描述
输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。
输入
测试数据有多组,每组输入字符串s和字符c。
输出
对于每组输入,输出去除c字符后的结果。
样例输入
goaod
a
样例输出
good
笔者采用了两种方法:
方法一:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
char c;
while(getline(cin,str)){
cin>>c;
int pos=0;
int len=str.size();
while(1){
pos=str.find(c);
if(pos==-1)
break;
str.erase(str.begin()+pos);
}
cout<<str<<endl;
getchar();
}
return 0;
}
但是方法一不知道为什么在codeup上提交一直显示答案错误50%
方法二:
#include<cstdio>
#include<string.h>
int main()
{
char s[100],c;
while(gets(s)){
scanf("%c",&c);
int len=strlen(s);
for(int i=0;s[i]!='\0';i++){
if(s[i]==c){
int j;
for(j=i;j<len-1;j++){
s[j]=s[j+1];
}
s[j]='\0';
len--;
i=i-1;
}
}
printf("%s\n",s);
getchar();
}
return 0;
}
完美通过