C语言 电文翻译

有一电文,已按下面规律译成密文。
A->Z a->z
B->Y b->y
C->X c->x
… …
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程输入一串密文,将密文译回原文并打印输出。
程序的运行示例如下:
输入:
hello,world!
输出:
svool,dliow!
提示:A-Z的ASCII码分别为65-90,a-z的ASCII码分别为97-122。

#include 
void translate(char *s)
{
 int i;
 for (i = 0; s[i] != '\0'; i++) {
  if (s[i] >= 'a' && s[i] <= 'z')
   s[i]  = 'z' - (s[i] - 'a');
  if (s[i] >= 'A' && s[i] <= 'Z')
   s[i] = 'Z' - (s[i] - 'A');
 }
}
int main()
{
 char a[100] = { '\0' };
 gets(a);
 translate(a);
 puts(a);
 return 0;
}

你可能感兴趣的:(C,语言)