C语言,样例对,评判0,求助
查看原帖
C语言,样例对,评判0,求助
1542292
Nitroglycerine楼主2024/11/18 20:00
#include <stdio.h>
#include <string.h>

int main(){
	int q;
	scanf("%d",&q);
	int a,b,c,d,e,f=-1;
	char s[1000];
	char s1[1000];
	char s2[1000];
	char s3[1000];
	char s4[1000];
	char s5[1000];
	char s6[1000];
	scanf("%s",s);
	int n=strlen(s);
	do{
		int x;
		scanf("%d",&x);
		switch(x){
			case 1:
				scanf("%s",s1);
				int m=strlen(s1);
				n = strlen(s);
				for(int i=n;i<n+m;i++){
					s[i] = s1[i-n];
				}
				s[n+m]=0;
				printf("%s\n",s);
				q--;
				break;
			case 2:
				scanf("%d %d",&a,&b);
				for(int i=a;i<a+b;i++){
					s2[i-a] = s[i];
				}
				s2[b] = 0;
				strcpy(s,s2);
				printf("%s\n",s);
				q--;
				break;
			case 3:
				scanf("%d",&c);
				scanf("%s",s3);
				strcpy(s4,s);
				d = strlen(s3);
				n = strlen(s);
				for(int i=c;i<=n;i++){
					s[i+d] = s4[i];
				}
				for(int i=c;i<c+d;i++){
					s[i] = s3[i-c];
				}
				printf("%s\n",s);
				q--;
				break;
			case 4:
				scanf("%s",s5);
				int e = strlen(s5);
				n =strlen(s);
				for(int i=0;i<n-e;i++){
					for(int j=i;j<i+e;j++){
						s6[j-i] = s[j];
					}
					s6[e] = 0;
					if(!strcmp(s6,s5)){
						f = i;
						break;
					}
				}
				printf("%d",f);
				q--;
				break;
		}
	}while(q>0);
	return 0;
}
2024/11/18 20:00
加载中...