试题 算法提高 9-2 文本加密
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:“A"转化"B”,“B"转化为"C”,… …“Z"转化为"a”,“a"转化为"b”,… …, “z"转化为"A”,其它字符不加密。编写程序,加密给定字符串。
样例输入
helloWorld!
样例输出
ifmmpXpsme!
数据规模与约定
输入数据中每一个数的范围。
例:50个字符以内无空格字符串。
代码
#include<stdio.h>
#include<string.h>
void EncryptChar(char a[],int n){//加密函数
int i;
for(i=0;i<n;i++){//其实就是对字母按照对应ASCII码的值+1
if(a[i]>='A'&&a[i]<='Z'){
if(a[i]=='Z'){//对Z特殊处理
a[i]='a';
continue;
}
a[i]+=1;
}
else if(a[i]>='a'&&a[i]<='z'){
if(a[i]=='z'){//对z特殊处理
a[i]='A';
continue;
}
a[i]+=1;
}
}
}
int main(){
char a[51];
int i;
scanf("%s",a);
EncryptChar(a,strlen(a));
printf("%s",a);
return 0;
}