gw060122 @ 2024-11-17 20:27:27
#include "iostream"
#include "string"
using namespace std;
int main() {
int n;
cin >> n;
cin.ignore(); // 忽略掉整数输入后的换行符
string str;
getline(cin, str); // 现在这里可以正确读取整行数据
for (int i = 0; i < n; i++) {
int choose;
cin >> choose;
if (choose == 1) {
string str1;
cin.ignore(); // 忽略掉选择输入后的换行符
getline(cin, str1);
str += str1;
cout << str << endl;
} else if (choose == 2) {
int a, b;
cin >> a >> b;
str = str.substr(a, b); // 注意 substr 的第二个参数是长度
cout << str << endl;
} else if (choose == 3) {
int a;
string str2;
cin >> a >> str2;
str.insert(a, str2);
cout << str << endl;
} else if (choose == 4) {
string str3;
cin.ignore(); // 忽略掉选择输入后的换行符
getline(cin, str3);
int cnt = str.find(str3);
if (cnt != string::npos) { // 如果找到了子串
cout << cnt << endl;
} else {
cout << "-1" << endl; // 如果没有找到子串
}
}
}
return 0; // 确保循环结束后再返回
}
by ZU111234 @ 2024-11-17 21:15:50
哪一题
by zhangyangxuanning @ 2024-11-24 10:15:59
#include<bits/stdc++.h>
using namespace std;
int main() {
int q;
string s;
cin>>q>>s;
while(q--){
int op;
cin>>op;
if(op==1){
string x;
cin>>x;
s+=x;
cout<<s<<endl;
}else if(op==2){
int l,len;
cin>>l>>len;
s=s.substr(l,len);
cout<<s<<endl;
}else if(op==3){
int a;
string b;
cin>>a>>b;
s.insert(a,b);
cout<<s<<endl;
}else{
string x;
cin>>x;
bool f2=0;
for(int i=0;i<s.size();i++){
bool f=0;
for(int j=0;j<x.size();j++){
if(s[i+j]!=x[j]){
f=1;
break;
}
}
if(f==0){
cout<<i<<endl;
f2=1;
break;
}
}
if(f2==0){
cout<<-1<<endl;
}
}
}
return 0;
}