1111: 【作】【入门】删除指定字符
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:14
解决:11
题目描述
从键盘输入一个字符串str和一个字符c,删除str中的所有字符c并输出删除后的字符串str。
输入
第一行是一个字符串; (不含空格)
第二行是一个字符。
第二行是一个字符。
输出
删除指定字符后的字符串。
样例输入 复制
sdf$$$sdf$$
$
样例输出 复制
sdfsdf
提示
解法一:假删除
#include <bits/stdc++.h> using namespace std; int main(){ string s; char c; cin>>s>>c; //假删除:遍历每个字符,除了要删除的字符c以外,剩余的输出 int i; for(i = 0;i <s.size();i++){ if(s[i] != c){ cout<<s[i]; } } return 0; }
解法二:真删除
#include <bits/stdc++.h> using namespace std; int main(){ //sdf$$$sdf //当s中含有要删除的字符c时,找到c的位置,并删除 string s; char c; cin>>s>>c; int p = s.find(c); //当s中有c时 while(p != -1){ //删除s中的c s.erase(p,1); //计算s中是否还有c p = s.find(c); } cout<<s; return 0; }