感觉一点问题都没有,结果输出乱码,大佬给调试一下,玄关
查看原帖
感觉一点问题都没有,结果输出乱码,大佬给调试一下,玄关
778382
wch666楼主2024/1/4 20:28
#include<bits/stdc++.h>
using namespace std;
char k[1005],m[1005],c[1005];
char R(char x,char y)
{
	return (y+x-'A')%'A';
}
int main()
{
	cin>>k>>m;
	int lena=strlen(k);
	int lenb=strlen(m);
	if(lenb > lena)
		for(int i=lena; i<lenb; i++)
			k[i]=k[i-lena];
	for(int i=0; i<lenb; i++)
	{
		char x,y;
		if(m[i] >= 'a' && m[i] <= 'z')
			x=m[i]-32;
		if(k[i] >= 'a' && k[i] <= 'z')
			y=k[i]-32;
		char a=R(x,y);
		bool flag=1;
		if(m[i] >= 'a' && m[i] <= 'z')
			flag=0;
		if(!flag)
			a+=32;
		c[i]=a;
	}
	for(int i=0; i<lenb; i++)
		cout<<c[i];
	return 0;
}
2024/1/4 20:28
加载中...