样例都是对的,我下的测试点感觉也没啥问题啊,到底哪错了,求解qwq

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

z1928140894 @ 2024-11-28 14:51:28

#include <stdio.h>
#include <string.h>
char s[10000];
char a[105];
int main()
{
    int q;
    scanf("%d",&q);
    getchar();
    gets(s);
    for(int i=0;i<q;i++)
    {
        gets(a);
        if(a[0]=='1'){
            int n=strlen(a);
            for(int j=0;j<n-2;j++){
                a[j]=a[j+2];
            }
            a[n-2]='\0';
            a[n-1]='\0';
            strcat(s,a);
            printf("%s\n",s);
            }
        else if(a[0]=='2') {
            int z=a[2]-'0';
            int h=a[4]-'0';
            int n=strlen(s);
            for(int j=0;j<n;j++){
                s[j]=s[j+z];
            }
            for(int j=z+h;j<n;j++){
                s[j]='\0';
            }
            printf("%s\n",s);
        }
        else if(a[0]=='3'){
            int m=a[2]-'0';
            int n=strlen(s);
            char z[10000];
            char h[10000];
            for(int j=0;j<m;j++)z[j]=s[j];
            for(int j=m;j<n;j++)h[j-m]=s[j];
            int t=strlen(a);
            for(int j=0;j<t-4;j++){
                a[j]=a[j+4];
        }
            a[t-4]='\0';
            a[t-3]='\0';
            a[t-2]='\0';
            a[t-1]='\0';

            strcat(z,a);
            strcat(z,h);
            n=strlen(z);
            for(int i=0;i<n;i++)s[i]=z[i];
            printf("%s\n",s);
        }
        else if(a[0]=='4'){
            int n=strlen(a);
            for(int j=0;j<n-2;j++){
                a[j]=a[j+2];
            }
            a[n-2]='\0';
            a[n-1]='\0';
            if(strstr(s,a)!=NULL)printf("%d\n",strstr(s,a)-s);
            else printf("-1\n");
        }

    }
}

样例都是对的,我下的测试点感觉也没啥问题啊,到底哪错了,求解qwq


|