问题及代码:
#include <stdio.h>
/*
Copyright(c)2017,CSDN学院行者-
All rights reserved.
文件名称:main.c
作者:乔帅
完成日期:2018年1月21日
版本号:v1.0
问题描述:转着圈加密
输入描述:一串字符
程序输出:输出响应的密码
*/
int main()
{
char ch;
while((ch = getchar())!='\n'){
if((ch >= 'a' && ch <= 'z')||(ch >= 'A' && ch <= 'Z' )){
ch = ch+4;
if((ch > 'Z'&&ch<='Z'+4)||(ch>'z')) //小写字母ascll码值均比Z大,所以需要规定范围
ch = ch - 26; //而小写z是所有可以输入的字符中的最后一个。所以不需要规定范围
}
putchar(ch);
}
return 0;
}
运行结果:
知识点总结:
1.字符之间的转换
2.ascll码的应用
学习心得:
这道问题需要注意各个字符之间的转化规则,根据题里的要求制定相应转换规则
这里很容易马虎从而落掉一些条件,所以需要十分细心