问题标题: 酷町堂:2821 为什么错了

0
0
盛雄皓
盛雄皓
修练者
修练者
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string a,b;
    int x,y,m;
    cin>>m>>x>>y;
    getline(cin,a);
    getline(cin,a);
    getline(cin,b);
    cout<<a.erase(x,y)<<endl; 
    cout<<b.insert(m-1,a);
    return 0;
}

#include<iostream>
 

 


0
朱子尘
朱子尘
初级光能
初级光能

要先b.insert(m-1,a)

是   a.erase(x-1,y)

不是    a.erase(x,y)

最后再输出b

0
0
0
0
0
0
宣海宁
宣海宁
中级光能
中级光能

这道题得慢慢拆分成各个部分去解答!!!

 

你把操作都单独进行,在输出应该就可以AC了。

 

旺财那!!!

宣海宁在2019-11-22 19:31:40追加了内容
a.erase(x,y);

            ↑

    不对,应该是x-1。因为字符串下标是从0开始的!

0
我要回答