文章
67
粉丝
207
获赞
46
访问
44.2k
#include <iostream>
#include <string.h>
using namespace std;
int main(){
char a[1005],d[1005];
char b[1000][1005];
int c=0,n=0,x=0,y=0,uu=0,tt=0;
//初始化=======================================
for(int i=0;i<1005;i++){
a[i]=0;
d[i]=0;}
for(int i=0;i<1000;i++)
for(int j=0;j<1005;j++)
b[i][j]=0;
while(gets(a)){
cin >> n;
for(int j=0;j<n;j++){
//cout << "输入 d " <<endl;
//gets(d);
cin >> d;
//如果改成 gets(d);第一次会出现两行"输入 d "
if(d[0]=='0'){
x=d[1]-'0';
y=d[2]-'0';
for(int ii=0;ii<x;ii++)
b[c][ii]=a[ii];
for(int ii=y+x;ii<strlen(a);ii++)
b[c][ii]=a[ii];
for(int ii=x;ii<=y+x-1;ii++)
b[c][y+x+x-1-ii]=a[ii];
strcpy(a,b[c]);
c++;
}
else if(d[0]=='1'){
x=d[1]-'0';
y=d[2]-'0';
uu=3;
for(int ii=0;ii<x;ii++)
b[c][ii]=a[ii];
for(int ii=x;ii<=y+x-1;ii++){
//情况 1 替换数组d不够长 a 来补=================================...
登录后发布评论
替换这一步结尾的处理有点问题