求大佬帮忙看看我这有什么问题
查看原帖
求大佬帮忙看看我这有什么问题
637364
jkmeishaonv楼主2022/9/12 19:18
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
char k[100],m[1000];
int w[1000];
int main()
{//输入密匙和密文反推原文
	cin >> k>>m;
	int l_k = strlen(k),l_m=strlen(m);
	for (int i = 0, j = 0; i < l_m; i++)
	{
		if (isupper(m[i]) && isupper(k[j]))
			w[i] = m[i] - k[j] ;
		if (!isupper(m[i]) && isupper(k[j]))
			w[i] = m[i]- k[j]-'a'+'A';
		if (isupper(m[i]) && !isupper(k[j]))
			w[i] = m[i] - k[j] + 'a' - 'A';
		if (!isupper(m[i]) && !isupper(k[j]))
			w[i] = m[i] - k[j];
		j=j++;
		if (j == (l_k))j = 0;
	}
	for (int i = 0; i < l_m; i++)
	{
		if (w[i]<0)w[i] = w[i]+26;
		if (isupper(m[i]))putchar('A' + w[i]);
		if (islower(m[i]))putchar(w[i] +'a');
	}
	return 0;
}


2022/9/12 19:18
加载中...