当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 洛谷 P1079 Vigenère 密码

洛谷 P1079 Vigenère 密码

2019年10月05日  | 移动技术网IT编程  | 我要评论

王子轩结婚,香菜的副作用,孔得红

目录


题目

p1079 vigenère 密码

思路

字符串+模拟。仔细读题,然后仔细敲代码(说了和没说一样)。。。

$code$

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#define maxn 1001
using namespace std;
char a[maxn],key[101];

int main() {
    cin>>key;
    cin>>a;
    int len1=strlen(key);
    for(int i=0;i<len1;++i) {
        if(key[i]<='z'&&key[i]>='a') {
            key[i]=key[i]-'a'+'a';
        }
    }
    int len2=strlen(a);
    int sum=0;
    int zz=0;
    while(sum<len2) {
        if(zz==len1) zz=0;
        int bh=key[zz++]-'a';
        if(a[sum]<='z'&&a[sum]>='a') {
            if(a[sum]-'a'<bh) {
                bh-=a[sum]-'a'+1;
                a[sum]='z';
            }
            a[sum]-=bh;
        }
        if(a[sum]<='z'&&a[sum]>='a') {
            if(a[sum]-'a'<bh) {
                bh-=a[sum]-'a'+1;
                a[sum]='z';
            }
            a[sum]-=bh;
        }
        sum++;
    }
    cout<<a;
    return 0;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网