题目内容:
恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移key位后被替换成密文,当key大于零时,表示向后偏移;当key小于零时,表示向前偏移。
例如,当key是3的时候,所有的字母A将被替换成D,B替换成E;当key是-3的时候,所有的字母A将被替换成X,E替换成B。
输入格式:
输入第一行给出一个以回车结束的非空字符串(少于80个字符);第二行输入一个整数key(int范围内)。
输出格式:
输出加密后的字符串。
输入样例1:
Hello everyone
3
输出样例1:
Khoor hyhubrqh
输入样例2:
a#bc%xy
-29
输出样例2:
x#yz%uv
#include<stdio.h>
#pragma warning(disable:4996)
int main()
{
int key, i=0;
char in[80];
gets(in);
scanf("%d", &key);
if(key>=26||key<=-26)
key = key % 26;
do {
if (in[i] >= 'a' && in[i] <= 'z' || in[i] >= 'A' && in[i] <= 'Z') {
in[i] += key;
if (in[i] < 'a'&&in[i]>'Z'|| in[i] < 'A')
in[i] += 26;
if (in[i] > 'z'|| in[i] > 'Z'&&in[i]<'a')
in[i] -= 26;
}
i++;
} while (in[i - 1] != '\0');
puts(in);
return 0;
}