蓝桥杯:算法提高 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 文本加密的主要内容,如果未能解决你的问题,请参考以下文章

算法提高 9-2 文本加密

科技素养题少儿编程 蓝桥杯青少组科技素养题真题及解析第5套

蓝桥杯 算法提高 5-3日历

(蓝桥杯)试题 算法训练 数据加密

蓝桥杯,算法提高,8皇后·改

蓝桥杯练习系统算法提高 求最大值