求大佬救救蒟蒻,为啥答案都对了,全都wa啊啊啊,呜呜

P1914 小书童——凯撒密码

OnceYk @ 2020-10-30 21:06:11

#include <stdio.h>
int main()
{
    char a;
    int n;
    scanf("%d",&n);
    n=n%26;
    getchar();
    while(scanf("%c",&a)!='\n'&&a<='z'&&a>='a')
    {
        if(a<='z'-n)
        printf("%c",a+n);
        else
        printf("%c",a-26+n);
    }
    return 0;
}

by Out_Land @ 2020-10-30 21:31:00

真是诡异呢~


by Out_Land @ 2020-10-30 21:31:27

搞了半天终于知道了


by Out_Land @ 2020-10-30 21:31:53

#include <stdio.h>
int main()
{
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    char a;
    int n;
    scanf("%d",&n);
    n=n%26;
    char cc=getchar();  
    cc=getchar();
    while((a=getchar())!='\n'&&a<='z'&&a>='a')
    {
        if(a<='z'-n)
        printf("%c",a+n);
        else
        printf("%c",a-26+n);
    }
    return 0;
}

by Out_Land @ 2020-10-30 21:32:07

@OnceYk


by Out_Land @ 2020-10-30 21:33:20

前两行文件输入输出删掉 可能是因为文件中第一行n后面有一个空格


by Out_Land @ 2020-10-30 21:35:26

因为你不知道文件格式

所以面对字符读入最好不要一个一个读

不然数据中不知道哪里多了几个空格就会暴毙

@OnceYk


by OnceYk @ 2020-10-30 22:31:52

大佬,大佬 空格~是输出中最后多了吗 @Out_Land


by Out_Land @ 2020-10-31 21:38:09

@OnceYk 不是,是读入的时候

本来第一行只有一个数字的话就是对的

可是数据里数字后面多了一个空格

就会导致后面读的字符全部错位了


by Out_Land @ 2020-10-31 21:40:05

如:

0

abc

这样你会输出abc

可是这样:

0空格

abc

这样你的输出会有空格


by OnceYk @ 2020-11-05 08:27:08

@Out_Land 这几天在考试,就没上洛谷~ 我那个,就,还是没太懂大佬意思欸,输入的时候不是先打个数字,再输几个英文字符嘛,为啥和空格有关系欸~~ 是那个getchar有问题吗(小纠结)


| 下一页