问题描述:
有一行电文,已按照下面的规律译成密码:
A>>Z a>>z
B>>Y b>>y
C>>X c>>x
. .
. .
. .
等等。即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变,要求编程序将密码译成原文。
输入说明:
输入一串字符(包含7个元素),表示密码。
输出说明:
输出其对应的字符(包含7个元素),表示原文。
输入样例:
ABCDEFG
输出样例:
ZYXWVUT
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
int main()
{
// char a = 'A', b = 'Z', c = 'a', d = 'z';
// printf("%d %d %d %d",a, b, c, d); //'A'+'Z'=155 'a'+'z'=219
char a[7], b[7];
scanf("%s", &a);
int i;
for(i=0;i<7;i++){
if(a[i]>='a'&&a[i]<='z'){
b[i] = 219-a[i];
}
else if(a[i]>='A'&&a[i]<='Z'){
b[i] = 155-a[i];
}
}
printf("%s", b);
return 0;
}
tips:要是不知道对应的ASCII也可以像我的代码那样打出来看看。