c语言求助
查看原帖
c语言求助
1535370
NeuroNO1楼主2024/12/28 19:39
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
	char *pos;
	char str[10086],s[1000],g[1000],h[10000],o[10000];
	int n,opt,a,b,c,len,v=0;
	char *p=str;
	char z[1000];
	scanf("%d",&n);
	getchar();
	gets(str);
	for(int i=0;i<n;i++){
		scanf("%d",&opt);
		getchar();
		switch(opt){
			
			case 1:
			
			gets(s);
			
			strcat(str,s);
			
			printf("%s\n",str);
			
			break;
			
			case 2:
			
			scanf("%d%d",&a,&b);
			
			for(int j=a;j<=a+b;j++){
				
				printf("%c",str[j]);
			}
			
			printf("\n");
			
			break;
			
			case 3:
			
			scanf("%d",&c);
			
			getchar();
			
			gets(g);
			
			for(int k=0;k<c;k++){
			h[k]=s[k];
//			printf("%c",s[k]);
			}
			len=strlen(s);
			strcat(h,g);
//			printf("%s",g);
			for(int l=c;l<len;l++){
			o[v]=s[l];v++;
//			printf("%c",s[l]);
			}
			strcat(h,o);
			printf("%s\n",h);
//			printf("\n");
			
			break;
			
			case 4:
			gets(z);
			if(strstr(h,z)==NULL){
				printf("-1\n");
			}else{
				pos=strstr(h,z);
				
				printf("%d\n",pos-h);
			}
			break;
			
			default:break;
		}
		
	}
	return 0;
}

给的样例和#1能过就是WA,不知道怎么办,求助

2024/12/28 19:39
加载中...