为什么本机测试点运行正确luogu上给出too long or too few lines?

P1914 小书童——凯撒密码

King2001 @ 2017-06-02 21:58:02

程序如下

#include<cstdio>
#include<cstring>
using namespace std;
char a[101];
int main(){
    int n,i=0,k;
    scanf("%d",&n);
    n%=26;
    getchar();
    gets(a);
    k=strlen(a);
    while(i!=k)
    {
        a[i]=a[i]+n;
        if(a[i]>='z') a[i]=a[i]-'z'+1;
        i++;
    }
    for(int j=0;j<k;j++)
    {
        printf("%c",a[j]);
    }
    return 0;
}

by aiyougege @ 2017-06-15 16:45:56

同问


by aiyougege @ 2017-06-15 16:53:36

我好像是知道了

a移27位效果和移一位差不多

所以n%26

然后把getchar()换成getline(cin,……)就过了


|