博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
轻院1064加密字符
阅读量:7104 次
发布时间:2019-06-28

本文共 704 字,大约阅读时间需要 2 分钟。

Description

从键盘输入一批字符,以@结束,按要求加密并输出。

Input

从键盘输入一批字符,占一行,以@结束。

Output

输出占一行

加密规则:
1)、所有字母均转换为小写。
2)、若是字母'a'到'y',则转化为下一个字母。
3)、若是'z',则转化为'a'。
4)、其它字符,保持不变。

Sample Input

Kyh520@

Sample Output

lzi520

HINT

Source

我的代码:

#include<stdio.h>
#include<string.h>
int main(void)
{
 char a;
 int len, i;
 
 while(a = getchar(),a != '@')
 {
  if(a >='A' && a<='Z')
  {
   a += 32;
  }
  if(a >= 'a' &&a <= 'y')
  {
   a += 1;
  }
  else if(a =='z')
  {
   a -= 25;
  }
  
  putchar(a);
 }
 printf("\n");
 return 0;
}
解题思路:
1:循环输入字符
2:根据题意加减ASCII码值即可
错误原因:
1:没有考虑加密字符加密的前后顺序,一种加密情况有可能影响另一种加密情况
经验总结:
1:加密过程一定要充分考虑不同的加密要求,确保不同的加密要求不会互相影响。
2:若两种情况互斥,则应该用if 与else if, 以免加密要求之间互相影响。
最后,这么简单的题我也能错三遍,我太low了。。。。。。

转载于:https://www.cnblogs.com/moon13579/p/7662934.html

你可能感兴趣的文章
第159天:前端知识体系框架
查看>>
Spring AOP注解为什么失效?90%Java程序员不知道
查看>>
Json学习
查看>>
Airbnb: React Native 从选择到放弃
查看>>
Eclipse中Tomcat配置问题
查看>>
Linux下使用split按行数进行切割
查看>>
盘点2015年英特尔旧金山IDF峰会上的黑科技
查看>>
SQL性能优化
查看>>
U盘安装Ubuntu 16.04出现:Failed to load ldlinux.c32
查看>>
mysql中的主从复制slave-skip-errors参数使用方法
查看>>
Linux安装JIRA6.3.6以及安装破解汉化插件
查看>>
一个HTTP需要经过哪些步骤
查看>>
Finite State Transducers
查看>>
慧聪电子网战略升级 玩转电子产业供应链服务之道
查看>>
Javascript定时器(三)——setTimeout(func, 0)
查看>>
Git基础入门(七)Git撤销操作和远程仓库管理
查看>>
以毒攻毒?牛津大学研究人员用VR治愈被迫害妄想症
查看>>
巧用Powercfg命令 - 玩转Windows 7中的电源管理
查看>>
Java工具创建密钥库,用于Unity 3D打包、签名、发布
查看>>
《你不知道的JavaScript》整理(二)——this
查看>>