浙江理工大学入队200题——14I
问题 I: 零基础学C/C++154——加密程序2
题目描述
有一行电文,请将电文中大写字母按A→Z,B→Y,C→X, D→W,……,X→C,Y→B,Z→A,的规律译成密文,其他字符保持不变。
输入
多组测试数据,每组输入一行以回车结束的字符串(少于80个字符)。
输出
输出加密后的字符串。
样例输入 Copy
ABCDEFabcdefg?123
hello WORLD 890
样例输出 Copy
ZYXWVUabcdefg?123
hello DLIOW 890
题解
我们还是可以发现字符一一对应,可是这时候分离成两个就很麻烦了,我们可以看出A++的过程Z--,说明ASCii之和为定值然后easy
(̿▀̿̿Ĺ̯̿̿▀̿ ̿)̄ 听说你给我点赞👍的样子很帅。
代码(AC)
点击查看代码
#include <iostream>
#include <cstdio>
#include <cstring>
int main (){
char a[81];
while(gets(a)!=NULL)
{
int m=strlen(a);
for(int i=0;i<m;i++)
{
if(a[i]>='A' && a[i]<='Z')
{
a[i]='A'+'Z'-a[i];
continue;
}
}
printf("%s\n",a);
}
return 0;
}
本文来自博客园,作者:shany212,转载请注明原文链接:https://www.cnblogs.com/codeshany/p/zstu_200_14I.html