求助,求助!!!样例都通过,但前四个是WA
查看原帖
求助,求助!!!样例都通过,但前四个是WA
331019
zhouyiqing楼主2021/1/25 20:40
#include <stdio.h>
#include <string.h>
int main(void)
{
	int n,i,j,k,choice,len1,len2,t,flag=0;
	char str[300],a,b,c,sub[100];
	scanf("%d",&n);
	scanf("%s",str);
	for(i=0;i<n;i++)
	{
		scanf("%d",&choice);
		if(choice==1)
		{
			scanf("%s",sub);
			strcat(str,sub);
			printf("%s\n",str);
		}
		else if(choice==2)
		{
			scanf("%d %d",&a,&b);
			str[a+b]='\0';
			for(j=a,k=0;j<a+b;j++,k++)
				sub[k]=str[j];
			sub[k]='\0';
			memset(str,0,sizeof(str));
			strcpy(str,sub);
			printf("%s\n",str);
		}
		else if(choice==3)
		{
			scanf("%d %s",&a,sub);
			len1=strlen(sub);
			len2=strlen(str);
			for(j=len2-1;j>=a;j--)
				str[j+len1]=str[j];
			for(j=a,k=0;j<a+len1;j++,k++)
				str[j]=sub[k];
			str[len2+len1]='\0';
			printf("%s\n",str);
		}
		else
		{
			scanf("%s",sub);
			len1=strlen(sub);
			len2=strlen(str);
			for(j=0;j<len2-len1+1;j++)
			{
				for(k=j,t=0;k<j+len1;k++,t++)
				{
					if(str[k]!=sub[t])
						break;
				}
				if(t>=len1)
					break;
			}
			if(t<len1||j>len2-len1)
				printf("-1\n");
			else
				printf("%d\n",j);
		}
	}
	return 0;
}
2021/1/25 20:40
加载中...