问题标题: 酷町堂:2829 测试样例过了WA

0
0
已解决
王子逸
王子逸
新手天翼
新手天翼

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string a;
    char b;
    cin>>a;
    cin>>b;
    for(int i=0;i<=a.size()-1;i++)
    {
        if(a[i]==b)
        {
            a.erase(i,1);
        }
    }
    cout<<a;
    return 0;


0
已采纳
丁博扬
丁博扬
中级天翼
中级天翼

        如果(s[i]等于b){
            跳出这次循环
        }
        如果(s[i]!=b){
            输出<<s[i];
        }

丁博扬在2020-08-17 13:44:04追加了内容

跳出这次循环=continue

为了保险,你字符串用getline吧,

getline(cin,a);

cin>>b;

for(int i=0;i<a.size();i++){

        ......//我刚刚给你的;

}

丁博扬在2020-08-17 13:44:30追加了内容

还是那句老话:

望采纳,谢谢

0
陈振轩
陈振轩
高级光能
高级光能

嗯~我稍微修改了你的代码,把erase函数修改成了continue,然后在if语句后面输出a[i],最后把cout<<a删除即可AC

0
李瑞曦
李瑞曦
高级天翼
高级天翼

if(a[i]==b)
        {
            a.erase(i,1);
        }

改成

  • if(s[i]==b)
  • {
  • continue;
  • }
  • cout<<s[i];
0
黄子扬
黄子扬
初级天翼
初级天翼

不是b就直接输出。。

黄子扬在2020-08-17 14:00:11追加了内容

一分钟后写完了

for(int i=0;i<=s1.size()-1;i++)
	    if(s1[i]!=s2)
	        cout<<s1[i];

 

我要回答