1402:Vigenère密码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
char s1[1000];
char s2[1000];
void turn(char &x)
{
    if((‘z’>=x)&&(‘a'<=x))
        x-=32;
}
int main()
{
    scanf(“%s”,s1);
    int len1=strlen(s1);
    int i;
    for(i=0;i<len1;i++)
        turn(s1[i]);
    scanf(“%s”,s2);
    int len2=strlen(s2);
    int j=0;
    for(i=0;i<len2;i++)
    {
        if(s2[i]<=’Z’)
        {
        s2[i]-=(s1[j]-‘A’);
        if(s2[i]<‘A’)
            s2[i]=’Z’+s2[i]-‘A’+1;
        j++;
        }
        else
        {
        s2[i]-=(s1[j]-‘A’);
        if(s2[i]<‘a’)
            s2[i]=’z’+s2[i]-‘a’+1;
        j++;
        }
        if(j>len1-1)
        j=0;
    }
    cout<<s2;
    return 0;
}100′

    原文作者:维吉尼亚加密问题
    原文地址: https://blog.csdn.net/qq_42552468/article/details/81192357
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞