1129.cpp

来自「杭电 acm部分代码 有兴趣的可以下载 谢谢」· C++ 代码 · 共 38 行

CPP
38
字号
#include <stdio.h>
#include <string>
char cipher[77], plain[77];
int c[77];
int main()
{
    int key, i ;
    int len;
    while(scanf("%d", &key) != EOF && key)
    {
        scanf("%s", cipher);
        len = strlen(cipher);
        for(i = 0; i < len; i++)
        {
            if(cipher[i] == '.')
                c[i] = 27;
            else if (cipher[i]=='_')
                c[i] = 0;
            else
                c[i] = cipher[i] - 'a' + 1;
            c[i] += i;
            while(c[i] > 27)
                c[i] -= 28;
            while(c[i] < 0)
                c[i] += 28;
            if(c[i] == 0)
                plain[(key * i) % len] = '_';
            else if(c[i] == 27)
                plain[(key * i) % len] = '.';
            else
                plain[(key * i) % len] = c[i] - 1 + 'a';
        }
        plain[len] = '\0';
        printf("%s\n", plain);
    }
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?