洛谷 P1079Vigenère密码题解--zhengjun

题面传送门

思路

一道模拟,注意细节即可

代码

#include<bits/stdc++.h>
using namespace std;
string a,b;
int main(){
	cin>>a>>b;
	for(int i=0,j=0;i<b.length();i++,j=(j+1)%a.length()){
		char x=a[j],y=b[i];
		bool flag=0;
		if(y>='a'&&y<='z'){
			flag=1;
			y=y-'a'+'A';
		}
		if(x>='a'&&x<='z'){
			x=x-'a'+'A';
		}
		printf("%c",(y-x+26)%26+'A'+(flag?'a'-'A':0));//这个括号一定要加,不然就全输出空格
	}
	return 0;
}

谢谢--zhengjun

posted @ 2022-06-10 19:58  A_zjzj  阅读(22)  评论(0编辑  收藏  举报