习题7-7 字符串替换(C语言实现)
分析: A - Z, B - Y, C - X …
第1个英文字母替换为第26个英文字母,第二个英文字母替换为第25个英文字母…
因此:第 i 个英文字母 替换为 第 (26 - i + 1) 个英文字母
如果 ch 为大写字母, 则 ch = 26 - (ch - ‘A’ +1) +‘A’
(ch - ‘A’ +1)计算该字母为第几个英文字母
#include <stdio.h>
#include <ctype.h>
int main()
{
int i;
char c[81]={0};
gets(c);
for(i=0; c[i]; i++)
if(isupper(c[i]))
c[i]=26-(c[i]-'A'+1)+'A';
puts(c);
return 0;
}