中间的错了,蒟蒻求助!
查看原帖
中间的错了,蒟蒻求助!
763903
swtwd楼主2022/8/5 17:44
#include<cstdio>
char a[10000],record[100][10000],number=0;
int p(int n){
	int i=0;
	while (i<n) {
		record[number][i]=a[i];
		i++;
	}
}
int y(int n){
	int x=n,i=0;
	do {
		x/=10;
		i++;
	} while (x>0);
	i--;
	while (i>=0) {
		if (n%10==0) record[number][i]='0';
		if (n%10==1) record[number][i]='1';
		if (n%10==2) record[number][i]='2';
		if (n%10==3) record[number][i]='3';
		if (n%10==4) record[number][i]='4';
		if (n%10==5) record[number][i]='5';
		if (n%10==6) record[number][i]='6';
		if (n%10==7) record[number][i]='7';
		if (n%10==8) record[number][i]='8';
		if (n%10==9) record[number][i]='9';
		n/=10;
		i--;
	}
}
int main(){
	char b[10000],source;
	int c[10],n,m,i=0,j=0,k=0,l=0,o=0,num=0;
	scanf("%d",&n);
	scanf("%s",a);
	while (a[i]!='\0') {
		i++;
	}
	a[i]='0';
	while (j<n) {
		scanf("%d",&m);
		if (m==1) {
			scanf("%s",b);
			while (b[k]!='\0') {
				a[i]=b[k];
				k++;
				i++;
			}
			p(i);
		}
		k=0;
		if (m==2) {
			scanf("%d%d",&c[0],&c[1]);
			i=c[1];
			while (k<c[1]) {
				a[k]=a[c[0]];
				c[0]++;
				k++;
			}
			p(i);
		}
		k=0;
		if (m==3) {
			scanf("%d%s",&c[0],b);
			while (b[k]!='\0') {
				source=a[c[0]];
				a[c[0]]=b[k];
				b[k]=source;
				a[i]=b[k];
				c[0]++;
				i++;
				k++;
			}
			p(i);
		}
		k=0;
		if (m==4) {
			scanf("%s",b);
			while (b[k]!='\0') k++;
			while (a[l]!='\0') {
				while (o<k) {
					if (a[l+o]==b[o]) num++;
					if (a[l+o]!=b[o]) break;
					o++;
				}
				if (num==k) break;
				num=0;
				o=0;
				l++;
			}
			if (k==0||k!=num) {
				record[number][0]='-';
				record[number][1]='1';
			}
			else y(l);
			num=0;
			o=0;
		}
		l=0;
		k=0;
		number++;
		j++;
	}
	i=0;
	while (i<number) {
		j=0;
		while (record[i][j]!='\0') {
			printf("%c",record[i][j]);
			j++;
		}
		printf("\n");
		i++;
	}
}
2022/8/5 17:44
加载中...