加载中...

浙江理工大学入队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;
}
posted @ 2022-10-29 20:24  shany212  阅读(67)  评论(1编辑  收藏  举报