c语言暴0,球球大佬救一下,第一组数据自己跑的也正常啊。。

P1914 小书童——凯撒密码

hydrossil @ 2023-02-11 00:21:46

#include <stdio.h>
#define DuRu_n int n=0;scanf("%d",&n);

int main(){
    DuRu_n;

    n%=26;
    getchar();
    char ch=getchar();

    while(ch>='a'&&ch<='z'){
        if(ch+n<='z'){
            putchar(ch+n);
        }else{
            putchar(ch+n-26);
        }
        ch=getchar();
    }

    return 0; 
}

by too_simple @ 2023-02-11 06:50:59

@hydrossil 有没有一种可能,ch + 50 > 'z' + 26


by hydrossil @ 2023-02-11 11:49:31

@too_simple 谢谢大佬回答

但是我的n先取26过的模了,“ch+50>'z'+26”这个式子中50和26的意义我不太理解,也没能理解您这个例子的含义

如果是指ch+24>‘z’的情况那么输出的就是ch+24-26,我个人没看出来有什么问题

因为我刚刚开始学习,知识欠缺许多,解题漏洞难以看出,可以的话麻烦告知一下您例子中50与26分别的含义,以及更详细一点地说明我的问题所在,谢谢!


by too_simple @ 2023-02-11 16:32:33

@hydrossil 对不起,我没看到/kk,我试了试,应该是你要输出一个字符串


by hydrossil @ 2023-02-11 17:14:48

@too_simple 谢谢回复,按照您的意思也就是说洛谷的判定会区分连续putchar和直接输出字符串是吗,如果是这样就能解释得通了,我会再去试一试的,谢谢


by too_simple @ 2023-02-11 17:41:00

@hydrossil 差不多


|