C语言字符加密

输入一行字符(不多于60个字符,以回车结束),将其加密。

加密规则: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;
}