40分求调

P5734 【深基6.例6】文字处理软件

Lilindong @ 2024-08-05 17:09:47

2,3,4过不了

#include<stdio.h>
#include<string.h>
int n,m,i,j,k,a,b;
char str[201],str1[101];
int main()
{
    scanf("%d",&n);
    scanf("%s",str);
    for(i=0;i<n;i++)
    {
        scanf("%d",&m);
        if(m==1)
        {
            scanf("%s",str1);
            strcat(str,str1);
            printf("%s\n",str);
        }
        else if(m==2)
        {
          scanf("%d%d",&a,&b);
          for(j=0;j<b;j++)
          str1[j]=str[j+a];
          str1[b+1]='\0';
          strcpy(str,str1);
          printf("%s\n",str);
        }
        else if(m==3)
        {
            scanf("%d",&a);
            scanf("%s",str1);
            strcat(str1, &str[a]);
            str[a]='\0';
            strcat(str,str1);
            printf("%s\n", str);
        }
        else
        {
            scanf("%s",str1);
            char *ans = strstr(str, str1);
            if(ans!=NULL)
            printf("%d",(int)(ans-str));
            else
            printf("-1");
        }
    }
    return 0;
}

|