洛谷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

原创文章 115 获赞 118 访问量 6502

猜你喜欢

转载自blog.csdn.net/A_zjzj/article/details/105658526