自己测试没有问题,但是WA显示结果Too short

P1914 小书童——凯撒密码

Wanlai @ 2023-04-25 08:31:08

#include<stdio.h>
int main()
{
    int i,n;
    char c[52],c1,c2[50]={0},cn;
    for (i = 0; i < 26; i++)
    {
        c[i] = 'a' + i;
    }
    for (i = 26; i < 52; i++)
    {
        c[i] = 'a' + i - 26;
    }
    scanf("%d", &n);
    n = n % 26;
    scanf("%c", &cn);
    for (i=0;;i++)
    {
        scanf("%c", &c1); 
        if (c1 >= 'a'&&c1<='z')
        {
            c2[i] = c[c1 - 'a' + n];
        }
        else
            break;
    }
    puts(c2);
    return 0;
}

by lznxes @ 2023-05-03 13:41:59

本题目并不难,你的代码过于复杂,我只用了一个string类型:

关键部分是用if判断每个字符用字符加长度取余26是不是>z;然后是就每个字符加长度减26,不是直接加长度


|