本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:
原字母 | 对应字母 |
---|---|
A | Z |
B | Y |
C | X |
D | W |
… | … |
X | C |
Y | B |
Z | A |
输入格式:
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。
输出格式:
输出在一行中给出替换完成后的字符串。
输入样例:
Only the 11 CAPItaL LeTtERS are replaced.
输出样例:
Lnly the 11 XZKRtaO OeGtVIH are replaced.
#include<stdio.h>
int main()
{
char a[100];
int i=1,k;
while(a[i]!='\n'&&i<=80)
{
a[i] = getchar();
if (a[i] == '\n') {
i--;
break;
}
i++;
}
for (k = 1; k <= i; k++)
{
if (a[k] >= 'A' && a[k] <= 'Z')
{
switch (a[k])
{
case 'A':a[k] = 'Z'; break;
case 'B':a[k] = 'Y'; break;
case 'C':a[k] = 'X'; break;
case 'D':a[k] = 'W'; break;
case 'E':a[k] = 'V'; break;
case 'F':a[k] = 'U'; break;
case 'G':a[k] = 'T'; break;
case 'H':a[k] = 'S'; break;
case 'I':a[k] = 'R'; break;
case 'J':a[k] = 'Q'; break;
case 'K':a[k] = 'P'; break;
case 'L':a[k] = 'O'; break;
case 'M':a[k] = 'N'; break;
case 'N':a[k] = 'M'; break;
case 'O':a[k] = 'L'; break;
case 'P':a[k] = 'K'; break;
case 'Q':a[k] = 'J'; break;
case 'R':a[k] = 'I'; break;
case 'S':a[k] = 'H'; break;
case 'T':a[k] = 'G'; break;
case 'U':a[k] = 'F'; break;
case 'V':a[k] = 'E'; break;
case 'W':a[k] = 'D'; break;
case 'X':a[k] = 'C'; break;
case 'Y':a[k] = 'B'; break;
case 'Z':a[k] = 'A'; break;
}
}
putchar(a[k]);
}
return 0;
}