测试是否可行,通过cin输入带空格的字符串;
代码:
#include <iostream>
using namespace std;
int main()
{
const int MAX_LEN = 100;
char str[MAX_LEN];
int len = 0;
int key;
cout << "请输入一个包含空格的字符串:";
char ch;
while ((ch = cin.get()) != '\n')
{
if (len < MAX_LEN)
{
str[len++] = ch;
}
else
{
cout << "错误:输入字符串过长" << endl;
return 1;
}
}
str[len] = '\0';
cout << "请输入密钥:";
cin >> key;
for (int i = 0; i < len; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = 'A' + (str[i] - 'A' + key) % 26;
}
else if (str[i] >= 'a' && str[i] <= 'z')
{
str[i] = 'a' + (str[i] - 'a' - key + 26) % 26;
}
}
cout << "加密后的字符串:";
for (int i = 0; i < len; i++)
{
cout << str[i];
}
cout << endl;
return 0;
}