1 条题解

  • 0
    @ 2025-4-12 22:06:17

    C :

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int i,j,t,k;
        char m[1005],c[105];
        while(scanf("%s%s",c,m)==2)
        {
            t=strlen(c);
            for(i=0;i<t;i++)
                if(c[i]<='Z')c[i]-='A';else c[i]-='a';
            for(i=0,j=0;i<strlen(m);i++)
            {
                k=m[i]-c[j++];
                if(m[i]>='a')if(k>='a')printf("%c",k);else printf("%c",k+26);
                else if(k>='A')printf("%c",k);else printf("%c",k+26);
                if(j==t)j=0;
            }
            printf("\n");
        }
        return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char a[101];
    	char b[1002];
    	while(scanf("%s",a)!=EOF)
    	{
    		getchar();
    		scanf("%s",b);getchar();
    		int bb[1002]={0};
    		int n=strlen(b);
    		int nn=strlen(a);
    		for (int i=0;i<n;i++)
    			if (b[i]>='a'&&b[i]<='z') {b[i]=b[i]-'a'+'A';bb[i]=1;}
    			for (int i=0;i<nn;i++)
    				if (a[i]>='a'&&a[i]<='z') a[i]=a[i]-'a'+'A';
    			for (int i=0;i<n;i++)
    			{
    				if (b[i]-'A'>=a[i%nn]-'A') b[i]=b[i]+'A'-a[i%nn];
    				else b[i]=b[i]+26+'A'-a[i%nn];
    			}
    			for (int i=0;i<n;i++)
    			{
    				if (bb[i])
    					printf("%c",b[i]-'A'+'a');
    				else
    					printf("%c",b[i]);
    			}
    			printf("\n");
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    2844
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者