求助,只有第一个通过了,但是样例全部通过了
查看原帖
求助,只有第一个通过了,但是样例全部通过了
952461
lzzyyds7楼主2023/3/12 14:08
#include <stdio.h>
#include <string.h>
void  caozuo1(char a[]){
	int p,q,k,min;
	scanf("%d%d",&p,&q);
	for(k=p,min=0;k<p+q;k++,min++){
		a[min]=a[k];
		}
	a[min]='\0';
	printf("%s",a);
	}
void caozuo2(char b[]){
	int i,j,k;
	char temp[200];
	char tempp[200];
	scanf("%d%s",&i,temp);
	for(j=i,k=0;b[j]!='\0';j++,k++){
		tempp[k]=b[j];
		}
	tempp[k]='\0';
	b[i]='\0';
	strcat(strcat(b,temp),tempp);
	printf("%s",b);
	}
void caozuo3(char c[]){
	char temp[200];
	int ans=0,flag=0,i,j;
	scanf("%s",temp);
	for(i=0;c[i]!='\0';i++){
		if(c[i]==temp[0]){
			for(j=i;temp[j-i]!='\0';j++){
				if(c[j]!=temp[j-i]){
					flag=1;break;
					}
				}
			if(flag==0){ans++;}
			else {flag=0;}
			}
		}
	if(ans!=0&&ans<=strlen(c))
	printf("%d",ans);
	else printf("-1");
	}
int main(void){
	int n,min,max;
	scanf("%d",&n);
	char str[200];
	scanf("%s",str);
	for(int i=0;i<n;i++){
		int j;
		scanf("%d",&j);
		if(j==1){
			char a[200];
			scanf("%s",a);
			printf("%s",strcat(str,a));
			if(i!=n-1) printf("\n");
			}
		else if(j==2){
			caozuo1(str);
			if(i!=n-1) printf("\n");
			}
		else if(j==3){
			caozuo2(str);
			if(i!=n-1) printf("\n");
			}
		else{
			caozuo3(str);
			if(i!=n-1) printf("\n");
			}
		}
	return 0;
}
2023/3/12 14:08
加载中...