社区讨论
为什么case(3)的时候最后一部分sd会出现乱码?帮帮忙
P5734【深基6.例6】文字处理软件参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo2melx0
- 此快照首次捕获于
- 2023/10/23 16:13 2 年前
- 此快照最后确认于
- 2023/10/23 16:13 2 年前
CPP
#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstring>
using namespace std;
int as(string e,string er){
int s,sd,t,a,q,we=-1,zx;
s=sizeof(e);
sd=sizeof(er);
for( a=0;a<s;a++){q=1;
if(e[a]==er[0]){
for(t=0,zx=a;t<sd;t++,zx++){
if(e[zx]!=er[t]) q--;
}if(q) return a;
}
}
return we;
}
int main(){
int we,e,x,q,er,a,b,zx;
string s="",sd="",t="",c="";
cin>>q;
cin>>s;
for(er=1;er<=q;er++){
cin>>we;
switch (we){
case 1:{
cin>>sd;
s=s+sd;
cout<<s;
sd="";
break;
}
case 2:{
cin>>a>>b;
for(x=a;x<a+b;x++)
t+=s[x];
s=t;
t="";
cout<<s;
break;
}
case 3:{
cin>>q;cin>>t;
zx=sizeof(s);
sd="";
for(e=q;e<zx;e++){//后面一段
sd+=s[e];
} for(e=0;e<q;e++){c+=s[e];}/前面一段
s=c+t+sd;
cout<<s;
c="";t="";sd="";
break;
}
case 4:{
cin>>sd;
cout<<as(s,sd);
break;
}
}
}
return 0;}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...