本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:
原字母 | 对应字母 |
---|---|
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.
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
//难点在于这个每个的转换加减的数都不一样;
所以就要发现里面的数学规律
两种情况看作一种,因为有负数
#include<stdio.h>
#include<string.h>
int main()
{
int i=0;
char a[100] = "0";
for (i = 1; i; i++)
{
scanf("%c", &a[i]);
if (a[i] == '\n')break;
}
for (int j = 1; j < i; j++)
{
if (a[j]>=65 && a[j] <= 90)
{
a[j] += 25 - 2 * (a[j] - 65);
}
}
for (int j = 1; j < i; j++)
{
printf("%c", a[j]);
}
return 0;
}