密码翻译

news2025/1/19 8:17:53

密码翻译

      • C语言实现
      • C++实现
      • Java实现
      • Python实现


💐The Begin💐点点关注,收藏不迷路💐

在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。

输入
  输入一行,包含一个字符串,长度小于1000个字符。

输出
  输出每行字符串的加密字符串。

样例输入

Hello! How are you!

样例输出

Ifmmp! Ipx bsf zpv!

C语言实现

#include <stdio.h>
#include <ctype.h>
#include <string.h>

#define MAX_LENGTH 1000

int main() {
char str[MAX_LENGTH];
fgets(str, MAX_LENGTH, stdin); // 从标准输入读取字符串,包含换行符

int len = strlen(str);
for (int i = 0; i < len; i++) {
    if (isalpha(str[i])) {  // 判断字符是否是字母
        if (str[i] >= 'a' && str[i] < 'z') {
            str[i]++;  // 如果是小写字母且不是z,替换为其后继字母
        } else if (str[i] == 'z') {
            str[i] = 'a';  // 如果是z,替换为a
        } else if (str[i] >= 'A' && str[i] < 'Z') {
            str[i]++;  // 如果是大写字母且不是Z,替换为其后继字母
        } else if (str[i] == 'Z') {
            str[i] = 'A';  // 如果是Z,替换为A
        }
    }
}
printf("%s", str);  // 输出加密后的字符串

return 0;

}

C++实现

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

int main() {
string str;
getline(cin, str); // 从标准输入读取一行字符串

for (size_t i = 0; i < str.size(); i++) {
    if (isalpha(str[i])) {  // 判断字符是否是字母
        if (str[i] >= 'a' && str[i] < 'z') {
            str[i]++;  // 如果是小写字母且不是z,替换为其后继字母
        } else if (str[i] == 'z') {
            str[i] = 'a';  // 如果是z,替换为a
        } else if (str[i] >= 'A' && str[i] < 'Z') {
            str[i]++;  // 如果是大写字母且不是Z,替换为其后继字母
        } else if (str[i] == 'Z') {
            str[i] = 'A';  // 如果是Z,替换为A
        }
    }
}
cout << str << endl;  // 输出加密后的字符串

return 0;

}

Java实现

import java.util.Scanner;

public class StringEncryption {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine(); // 从标准输入读取一行字符串

    StringBuilder encrypted = new StringBuilder();
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (Character.isLetter(c)) {  // 判断字符是否是字母
            if (c >= 'a' && c < 'z') {
                c++;  // 如果是小写字母且不是z,替换为其后继字母
            } else if (c == 'z') {
                c = 'a';  // 如果是z,替换为a
            } else if (c >= 'A' && c < 'Z') {
                c++;  // 如果是大写字母且不是Z,替换为其后继字母
            } else if (c == 'Z') {
                c = 'A';  // 如果是Z,替换为A
            }
        }
        encrypted.append(c);  // 将处理后的字符添加到加密后的字符串构建器中
    }

    System.out.println(encrypted.toString());  // 输出加密后的字符串

    scanner.close();
}

}

Python实现

s = input()  # 从标准输入读取字符串
encrypted = ""
for char in s:
    if char.isalpha():  # 判断字符是否是字母
        if char.islower() and char!= "z":
            encrypted += chr(ord(char) + 1)  # 如果是小写字母且不是z,替换为其后继字母(通过ASCII码转换)
        elif char == "z":
            encrypted += "a"  # 如果是z,替换为a
        elif char.isupper() and char!= "Z":
            encrypted += chr(ord(char) + 1)  # 如果是大写字母且不是Z,替换为其后继字母(通过ASCII码转换)
        elif char == "Z":
            encrypted += "A"  # 如果是Z,替换为A
    else:
        encrypted += char  # 如果是非字母字符,直接添加到加密后的字符串
print(encrypted)

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2256060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++初阶】第7课—标准模版库STL(string_1)

文章目录 1. 什么是STL2. STL六大组件3. 标准库中string类3.1 auto关键字3.2 范围for3.3 string类的类型3.4 string类的常用接口(string类对象的常见构造)3.5 string的析构和赋值运算符重载3.6 string类对象的容量操作 1. 什么是STL STL(standard template library—标准模板库…

uniapp扭蛋机组件

做了一个uniapp的扭蛋机组件&#xff0c;可以前往下载地址下载 支持vue2、3、h5页面微信小程序&#xff0c;其余小程序未测试 示例图片

MyBatis的工作流程是怎样的?

大家好&#xff0c;我是锋哥。今天分享关于【MyBatis的工作流程是怎样的&#xff1f;】面试题。希望对大家有帮助&#xff1b; MyBatis的工作流程是怎样的&#xff1f; MyBatis 的工作流程可以分为几个主要步骤&#xff1a;从配置、映射到执行 SQL&#xff0c;最终获取数据库结…

MYSQL PARTITIONING分区操作和性能测试

PARTITION OR NOT PARTITION IN MYSQl Bill Karwin says “In most circumstances, you’re better off using indexes instead of partitioning as your main method of query optimization.” According to RICK JAMES: “It is so tempting to believe that PARTITIONing wi…

[软件工程]九.可依赖系统(Dependable Systems)

9.1什么是系统的可靠性&#xff08;reliability&#xff09; 系统的可靠性反映了用户对系统的信任程度。它反映了用户对其能够按照预期运行且正常使用中不会失效的信心程度。 9.2什么是可依赖性&#xff08;dependablity&#xff09;的目的 其目的是覆盖系统的可用性&#x…

vue3中使用watchEffect和watch函数时应当防止内存泄漏

官方文档&#xff1a;https://cn.vuejs.org/api/reactivity-core.html#watcheffect 也就是说当使用他们两个时候&#xff0c;使用完成之后要及时停止他们&#xff0c;防止一直在运行&#xff0c;停止他们之后&#xff0c;也可以再次开启。 watchEffect()​ 立即运行一个函数…

Wwise SoundBanks内存优化

1.更换音频格式为Vorbis 2.停用多余的音频&#xff0c;如Random Container的随机脚步声数量降为2个 3.背景音乐勾选“Stream”。这样就让音频从硬盘流送到Wwise&#xff0c;而不是保存在内存当中&#xff0c;也就节省了内存 4.设置最大发声数Max Voice Instances 5.设置音频…

Windows宝塔面板下IIS环境如何部署SSL证书?

Windows宝塔面板下IIS环境如何部署SSL证书&#xff1f; 平时服务器linux宝塔用的较多&#xff0c;所以linux系统宝塔&#xff0c;如何部署SSL证书还是比较熟悉&#xff0c;今天遇到一个windows的部署SSL证书&#xff0c;还是头一次&#xff0c;所以记录一下&#xff0c;以防忘…

【计算机视觉】图像的几何变换

最常见的几何变换有仿射变换和单应性变换两种&#xff0c;最常用的仿射变换有缩放、翻转、旋转、平移。 1. 缩放 将图像放大或缩小会得到新的图像&#xff0c;但是多出的像素点如何实现----插值 1.1 插值方法 最近邻插值 双线性插值 cv2.resize() 是 OpenCV 中用于调整图像…

深入浅出 Go 语言:数组与切片

深入浅出 Go 语言&#xff1a;数组与切片 引言 在 Go 语言中&#xff0c;数组和切片是两种非常重要的数据结构&#xff0c;用于存储和操作一组相同类型的元素。虽然它们看起来相似&#xff0c;但在使用上有很大的区别。理解数组和切片的区别以及如何正确使用它们&#xff0c;…

基于超级电容和电池的新能源汽车能量管理系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 超级电容特性 4.2 电池特性 5.完整工程文件 1.课题概述 基于超级电容和电池的新能源汽车能量管理系统simulink建模与仿真。分析不同车速对应的电池&#xff0c;超级电容充放电变化情况。 2.系统仿…

y3编辑器文档3:物体编辑器

文章目录 一、物体编辑器简介1.1 界面介绍1.2 复用(导入导出)1.3 收藏夹(项目资源管理)1.4 对象池二、单位2.1 数据设置2.2 表现设置2.3 单位势力和掉率设置2.4 技能添加和技能参数修改2.5 商店2.5.1 商店属性设置2.5.2 商店物品设置三、装饰物3.1 属性编辑3.2 碰撞体积四、…

「嵌入式系统设计与实现」书评:学习一个STM32的案例

本文最早发表于电子发烧友论坛&#xff1a;【新提醒】【「嵌入式系统设计与实现」阅读体验】 学习一个STM32的案例 - 发烧友官方/活动 - 电子技术论坛 - 广受欢迎的专业电子论坛!https://bbs.elecfans.com/jishu_2467617_1_1.html 感谢电子发烧友论坛和电子工业出版社的赠书。 …

Qt Designer Ui设计 功能增加

效果展示 输入密码&#xff0c;密码错误&#xff0c;弹出提示 密码正确&#xff0c;弹出提示并且关闭原窗口 代码&#xff08;只提供重要关键主代码&#xff09;lxh_log.py代码&#xff1a; import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButtonfrom …

RT Thread Studio新建STM32F407IG工程文件编译提示错误

编译提示错误 原因: RT 源码使用4.0.3的话&#xff0c;请用STM32F4支持包的0.2.2版本&#xff0c;就不会出错了。 如果支持包用0.2.3版本的话&#xff0c;需要用RT内核4.1.0版本。0.2.3 版本更新了一些针对内核4.1.0的驱动代码&#xff0c;这几个定义都是4.1.0里的。

智能制造标准体系建设指南

一、智能制造系统架构总览 智能制造作为当今制造业转型升级的核心&#xff0c;深度整合了新一代信息技术与传统制造工艺&#xff0c;催生出一个横跨产品全生命周期、纵贯多层级组织架构&#xff0c;并彰显多元智能特性的复杂系统。这一架构从生命周期、系统层级、智能特征三个…

DApp开发与APP开发的五大区别

随着比特币与区块链技术的不断发展&#xff0c;DApp应用会逐渐成为主流。与APPAPP相比&#xff0c;DApp有许多不同之处&#xff0c;尤其是在架构、数据存储、用户隐私等方面。本文将通过五大关键点&#xff0c;深入探讨DApp开发与APP开发之间的主要区别。 1. 后端架构&#xff…

XSS(DOM)-HIGH错误总结

HIGH就不从简单的开始。 我们直接闭合HTML标签绕过 ></option></select><img srcx:alert(alt) οnerrοreval(src) altxss> 没有变化 这里应该是后端的问题&#xff0c;试试锚点注入 English#<script>alert(xss)</script> 这里不知道什么…

Mitel MiCollab 企业协作平台 任意文件读取漏洞复现(CVE-2024-41713)

0x01 产品简介 Mitel MiCollab是加拿大Mitel(敏迪)公司推出的一款企业级协作平台,旨在为企业提供统一、高效、安全的通信与协作解决方案。通过该平台,员工可以在任何时间、任何地点,使用任何设备,实现即时通信、语音通话、视频会议、文件共享等功能,从而提升工作效率和…