蓝桥杯:算法提高 9-2 文本加密
Posted 王亨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯:算法提高 9-2 文本加密相关的知识,希望对你有一定的参考价值。
时间限制:1.0s 内存限制:256.0MB
问题描述
先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A"转化"B","B"转化为"C",... ..."Z"转化为"a","a"转化为"b",... ..., "z"转化为"A",其它字符不加密。编写程序,加密给定字符串。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
输入数据中每一个数的范围。
例:50个字符以内无空格字符串。
程序:
#include<stdio.h> #include <string.h> #define N 55 int main() { char input[N]; int i=0; scanf("%s",input); for(i=0;i<strlen(input);i++) { if(input[i]>=65&&input[i]<=89) input[i]+=\'\\1\'; else if((input[i]>=97&&input[i]<=121)) input[i]+=\'\\1\'; else if(input[i]==90)//ok input[i]+=\'\\7\'; else if(input[i]==122)//ok input[i]-=\'\\71\'; } printf("%s\\n",input); return 0; }
虽然这道题做出来了,但是我还有一个疑问,就是下面这块代码中,为什么要减71,我觉得应该减57.但如果减57的话,小写z就会转为大写K。如果大家知道的话还请在评论区留言。
else if(input[i]==122)//ok input[i]-=\'\\71\';
以上是关于蓝桥杯:算法提高 9-2 文本加密的主要内容,如果未能解决你的问题,请参考以下文章