字符串加解密例题训练

news/2024/10/18 5:41:16/

描述

对输入的字符串进行加解密,并输出。

加密方法为:

当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;

当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;

其他字符不做变化。

解密方法为加密的逆过程。

数据范围:输入的两个字符串长度满足 1≤n≤1000 1≤n≤1000  ,保证输入的字符串都是只由大小写字母或者数字组成

输入描述:

第一行输入一串要加密的密码
第二行输入一串加过密的密码

输出描述:

第一行输出加密后的字符
第二行输出解密后的字符

示例1

输入:

abcdefg
BCDEFGH

输出:

BCDEFGH
abcdefg
#include<bits/stdc++.h>
using namespace std;
int main()
{string str1,str2;cin>>str1;cin>>str2;string str11=str1;string str22=str2;//必须先初始化吗//加密for(int i=0;i<str1.size();i++){//大写字母if(str1[i]>='A'&&str1[i]<='Z'){//如果为Zif(str1[i]=='Z'){str11[i]='a';}else//65-90A 97-122a{str11[i]=str1[i]+33;}}//小写if(str1[i]>='a'&&str1[i]<='z'){//如果为Zif(str1[i]=='z'){str11[i]='A';}else//65-90A 97-122a{str11[i]=str1[i]-31;}}//数字if(str1[i]>='0'&&str1[i]<='9'){if(str1[i]=='9'){str11[i]='0';}else{str11[i]=str1[i]+1;}}}//解密for(int i=0;i<str2.size();i++){//大写字母  变成前一个的相反形式字母if(str2[i]>='A'&&str2[i]<='Z'){if(str2[i]=='A'){str22[i]='z';}else{str22[i]=str2[i]+31;}}//小写字母if(str2[i]>='a'&&str2[i]<='z'){if(str2[i]=='a'){str22[i]='Z';}else{str22[i]=str2[i]-33;}}//数字if(str2[i]>='0'&&str2[i]<='9'){if(str2[i]=='0'){str22[i]='9';}else{str22[i]=str2[i]-1;}}}cout<<str11<<endl;cout<<str22<<endl;}

必须对str11,与str22进行初始化


http://www.ppmy.cn/news/1401951.html

相关文章

使用INSERT INTO ... ON DUPLICATE KEY UPDATE批量插入更新导入excel数据的实践场景应用

INSERT INTO ... ON DUPLICATE KEY UPDATE 是 MySQL 中的一个非常有用的语法&#xff0c;它允许你在插入新记录时&#xff0c;如果记录的唯一键&#xff08;如主键或唯一索引&#xff09;已存在&#xff0c;则执行更新操作而不是插入。这可以帮助你避免在插入数据时产生的重复键…

基于Givens旋转完成QR分解进而求解实矩阵的逆矩阵

基于Givens旋转完成QR分解进而求解实矩阵的逆矩阵 目录 前言 一、Givens旋转简介 二、Givens旋转解释 三、Givens旋转进行QR分解 四、Givens旋转进行QR分解数值计算例子 五、求逆矩阵 六、MATLAB仿真 七、参考资料 总结 前言 在进行QR分解时&#xff0c;HouseHolder变换…

软考 - 系统架构设计师 - 架构风格

软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件&#xff0c;以及这些构件的组织方式&#xff0c;惯用模式指众多系统所共有的结构和语义。 目录 架构风格 数据流风格 批处理架构风格 管道 - 过滤器架构风格 调用 / 返回风格 主程序…

『Apisix进阶篇』动态负载均衡:APISIX的实战演练与策略应用

&#x1f680;『Apisix系列文章』探索新一代微服务体系下的API管理新范式与最佳实践 【点击此跳转】 &#x1f4e3;读完这篇文章里你能收获到 &#x1f3af; 掌握APISIX中多种负载均衡策略的原理及其适用场景。&#x1f4c8; 学习如何通过APISIX的Admin API和Dashboard进行负…

boost::asio 启用 io_uring(Linux 5.10)队列支持

欲启用 boost::asio 对于 io_uring 的支持&#xff0c;这需要以下几个先决条件&#xff1b; 1、boost 1.78 及以上发行版本 Revision History - 1.78.0 (boost.org) 2、Linux kernel 5.10 及以上发行版本 3、在预定义头文件&#xff08;stdafx.h&#xff09;、或编译器预定义…

[报错解决]Type com.baomidou.mybatisplus.extension.ddl.IDdl not present

springboot整合mybatis-plus关键报错信息 在处理mybatis-plus时遇到的问题&#xff0c;现提供解决方案供参考&#xff1a; org.springframework.beans.factory.BeanCreationException: Error creating bean with name com.baomidou.mybatisplus.autoconfigure.MybatisPlusAu…

队列 和 同步状态

文章目录 同步状态阻塞队列如何使用队列来实现广度优先搜索&#xff08;BFS&#xff09;算法条件队列如何使用条件队列实现生产者消费者模型 同步状态 在多线程编程中&#xff0c;同步状态是指用于控制并发访问共享资源的状态。同步状态的正确管理是确保多线程操作安全性和正确…

FastAPI+React全栈开发10 MongoDB聚合查询

Chapter02 Setting Up the Document Store with MongoDB 10 Aggregation framework FastAPIReact全栈开发10 MongoDB聚合查询 In the following pages, we will try to provide a brief introducton to the MongoDB aggregation framework, what it is, what benefits it of…