赞
踩
李先森最近迷上了密码学,决定洗心革面好好学习。今天,他学习了最简单的加密方法——凯撒加密,突发奇想想要来考考你们。他自己制定了这样一个加密规则:大写字母偏移量为3,小写字母偏移量为13。他会给你一串大小写混杂的字符串,你能为他加密吗。
有多组输入,每行为一组,当输入一行为“!"时输入结束。字符串长度不超过50,且均为字母。
输出加密结果。
input
abc
!
output
nop
AC代码
- #include <stdio.h>
- #include <ctype.h>
-
- void caesar(char *arr) {
- while (*arr != '\0') {
-
- if (isupper(*arr)) {
- *arr = ((*arr - 'A' + 3) % 26) + 'A';
- }
- else if (islower(*arr)) {
- *arr = ((*arr - 'a' + 13) % 26) + 'a';
- }
-
- arr++;
- }
- }
-
- int main() {
- char arr[50];
-
- while (1) {
- scanf("%s", arr);
- if (arr[0] == '!') {
- break;
- }
-
- caesar(arr);
- printf("%s\n", arr);
-
- }
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。