时间限制:1.0s 内存限制:256.0MB
问题描述
先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A"转化"B","B"转化为"C",... ..."Z"转化为"a","a"转化为"b",... ..., "z"转化为"A",其它字符不加密。编写程序,加密给定字符串。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
输入数据中每一个数的范围。
例:50个字符以内无空格字符串。
程序:
#include<stdio.h>
#include <string.h>
#define N 55
int main()
{
char input[N];
int i=0;
scanf("%s",input);
for(i=0;i<strlen(input);i++)
{
if(input[i]>=65&&input[i]<=89)
input[i]+='\1';
else if((input[i]>=97&&input[i]<=121))
input[i]+='\1';
else if(input[i]==90)//ok
input[i]+='\7';
else if(input[i]==122)//ok
input[i]-='\71';
}
printf("%s\n",input);
return 0;
}
虽然这道题做出来了,但是我还有一个疑问,就是下面这块代码中,为什么要减71,我觉得应该减57.但如果减57的话,小写z就会转为大写K。如果大家知道的话还请在评论区留言。
else if(input[i]==122)//ok
input[i]-='\71';