编辑代码

#include <iostream>
#include <string>
using namespace std;
int main() {
    string ct, key, pt;
    char c,k,p;
    int c_offset,k_offset,p_offset;
    getline(cin, key);
    getline(cin, ct);

    for (int i = 0, j = 0; i < ct.length(); ++i,j++)
    {
            c = ct[i];
           
            if (c >= 'A' && c <= 'Z') {
                c_offset = c - 'A';
            } else {
                c_offset = c - 'a';
            }


            k = key[j % key.length()];
            if (k >= 'A' && k <= 'Z') {
                k_offset = k - 'A';
            } else {
                k_offset = k - 'a';
            }

            p_offset = (c_offset - k_offset + 26) % 26;
            if (c >= 'A' && c <= 'Z') {
                p = 'A' + p_offset;
            } else {
                p = 'a' + p_offset;
            }
            
            pt += p;
    }
    

    cout << pt;
	return 0;
}