问题标题: 酷町堂:3785

0
0
已解决
王远哲
王远哲
修练者
修练者

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iomanip>
using namespace std;
string a;
int s=0;
char c;
int main()
{
    getline(cin,a);
    for(int i=2;i<a.size();i++)
    {
        if(a[i]!=a[i-1])
        {
            c=a[i];
            s=i;
            break;
        }
    }
    for(int i=0;i<a.size();i++)
        if(c!=a[i])
            cout<<a[i];
     return 0;
}

90分代码

哪错了
 


0
已采纳
张帆
张帆
中级天翼
中级天翼

可以这样:char c取s第一个字符

循环遍历s,如果c!=s[i],记下第一个位置,再一次,记下第二个位置,跳出循环

删除记录下来的两个位置之间的字符,最后输出。

按你这种方法

循环里要改成这样

f(s[i]!=s[i-1])
            k++;
        if(k==1||k==3)
            cout<<s[i];

 

0
0
王鑫烨
王鑫烨
中级光能
中级光能

是不是头文件太多了?

0
0
邓犁
邓犁
高级守护
高级守护

if(s[i]!=s[i-1])
            k++;
        if(k==1||k==3)
            cout<<s[i];

//遍历字符串中的代码

//从零到s.size()-1

0
0
褚俊皓
褚俊皓
新手天翼
新手天翼

if(s[i]!=s[i-1])
            k++;
        if(k==1||k==3)
            cout<<s[i];

//遍历字符串中的代码

//从零到s.size()-1

我要回答