C语言字符加密
加密规则:1)将小写字母转换为相应的大写字母;2)将大写字母转换为相应的小写字母;3)非字母字符不变;4)字母顺序后延3个字符,且x->a,y->b,z->c;5)数字字符顺序后延5个符号。
输入:一行字符(不多于60个字符,以回车结束)
输出:一行字符,为加密后的字符。
思路:输入利用getchar,while循环设置换行符结束输出。
用循环遍历数组讨论不同情况
本题核心:掌握字符的ASCII码,getchar函数,数据类型转换,数组初级运用
#include<stdio.h>
int main(){
char ch;
char a[60];
int i,cnt=0;
do{
ch=getchar();
a[cnt++]=ch;
}while(ch!='\n');//输入字符
for(i=0;i<cnt;i++){
if(a[i]<=87&&a[i]>=65)//大写字母转小写然后加3
a[i]=a[i]+35;
else if(a[i]>=97&&a[i]<=119)//小写字母转大写加3
a[i]=a[i]-29;
else if(a[i]>119&&a[i]<=122)//xyz转大写再变ABC
a[i]=a[i]-55;
else if(a[i]>=88&&a[i]<=90)//XYZ转abc
a[i]=a[i]+9;
if(48<=a[i]&&a[i]<=57){//讨论数字情况
if(a[i]<53)
a[i]=a[i]+5;//数字延后5
else if(a[i]>=53)// 讨论5到9的情况
a[i]=a[i]-5;
}
printf("%c",a[i]);
}
return 0;
}