T1112 加密的病历单 #计蒜客 C++

T1112 加密的病历单

题目描述

小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。

在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。

经过研究,小英发现了如下加密规律(括号中是一个 “原文 -> 密文” 的例子)

原文中所有的字符都在字母表中被循环右移了三个位置( abz -> dec )
逆序存储(abcd -> dcba )
大小写反转(abXY -> ABxy)

输入格式

原文。(长度小于 5050 且只包含大小写字母)

输出格式

输出加密后的字符串。

样例输入

GSOOWFASOq

样例输出

Trvdizrrvj

代码

#include <iostream>
#include <string>
using namespace std;

int main(){
    
    
	string s;
	getline(cin,s);
	
	int len = s.length();
	
	for(int i=0; i<len; i++){
    
    
		//循环右移三个位置 
		if((s[i]>='x' && s[i]<='z') || (s[i]>='X' && s[i]<='Z'))
			s[i]=s[i]-23;
		else
			s[i] = s[i]+3;
		//大小写转换 
		if(s[i]>='a' && s[i]<='z')
			s[i] = s[i]-32;
		else if(s[i]>='A' && s[i]<='Z')
			s[i] = s[i] +32;
	}
	//逆序输出 
	for(int i=len-1; i>=0; i--)
		cout << s[i];
		
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44524918/article/details/108698538