Description
从输入流中读入内容,去掉文件中的阿拉伯数字和标点符号,并将英文字母转换成ASCII码中其后的第n个英文字母,实现字符串的加密。
如果英文字母在转换后超出英文字母的范围需要回头从a/A重新进行加密。
Input
第一行输入n(n<10);从第二行输入要加密的内容(不超过50个字符)。
Ouput
输出加密以后的字符串
Sample Input
3
ABCDEF,#xyz
Sample Output
DEFGHIabc
参考代码如下:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
char c;
/*单个字符处理*/
while (cin.get(c))
{
/*小写字母的处理*/
if (c >= 'a' && c <= 'z')
{
/*超出小写字母的范围,从'a'开始*/
if (c + n > 'z')
c = 'a' + n - (122 - c+1);
else
c = c + n;
cout << c;
}
/*大写字母的处理*/
if(c >= 'A' && c <= 'Z')
{
/*超出大写字母的范围,从'A'开始*/
if (c + n > 'Z')
c = 'A' + n - (90 - c + 1);
else
c = c + n;
cout << c;
}
/*空格的处理*/
if (c == ' ')
cout << " ";
}
}
注意:空格和换行符的输入