当前位置: 首页 > news >正文

【2023.10.30练习】C语言-循环右移字符

计算机能力挑战初赛2020.19题

题目描述:

现要对一个由字符a-z和A-Z组成的字符串进行解密,已知加密规则是:
字符串中所有字符分别在大写或小写的字母表中被循环左移5位(fGh-->aBc),
输入:一个加密过的字符串(( 长度大于1 且小于50 且只包含大小写字母)。
输出:输出解密后的字符串
样例输入:AbcExyZ
样例输出:FghJcdE


题目分析:

和同一年的第17题相似,显然要将字符转换成ASCII码。

再通过取模的方式实现循环右移的功能。

观察字符右移前后的ASCII码:

V86A65
W87B66
X88C67
Y89D68

设右移前的ASCII码为b,右移后为a,易得:

(b-64+5)MOD26 +64

大部分代码可沿用同一套题的第17题代码。


最终代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {char str_1[5000];scanf("%s", str_1);char str_2[5000];for (int i = 0; i <= strlen(str_1); i++) {if (i < strlen(str_1)) {if (str_1[i] < 95) {str_2[i] = (str_1[i] - 59) % 26 + 64;}else {str_2[i] = (str_1[i] - 91) % 26 + 96;}}else {str_2[i] = 0;}}printf("%s", str_2);return 0;
}

http://www.lryc.cn/news/212260.html

相关文章:

  • C++ 自引用指针this(整理)
  • pyzed.sl 突然 ImportError: DLL load failed while importing sl: 找不到指定的程序。 的解决
  • STM32 Cube配置RS485 Modbus
  • global,nonlocal
  • HTML5教程
  • vulnhub momentum 靶机复盘
  • c++和java实现策略模式的差异
  • vim
  • AcWing93. 递归实现组合型枚举:输出从1~n中随机选出的m个整数
  • Java修仙传之Flink篇
  • 网络新闻发稿为何经久不衰?
  • Java SimpleDateFormat 中英文时间格式化转换
  • 机器学习-基本知识
  • Xilinx 7 系列 1.8V LVDS 和 2.5V LVDS 信号之间的 LVDS 兼容性
  • R语言在生态环境领域中的实践技术应用
  • ChineseChess.2023.10.31.01
  • 数据库扩展语句和约束方式以及用户管理
  • JMM 简单理解
  • 微软Azure文本转音频,保存成MP3文件【代码python3】
  • 基于单片机的超声波探伤仪设计
  • idea的设置
  • 高等数学啃书汇总重难点(八)向量代数与空间解析几何
  • C#开发DLL,CAPL调用(CAPL>> .NET DLL)
  • 0-1背包问题【穷举法+二维dp数组】
  • nodejs+vue+python+php基于微信小程序的在线学习平台设计与实现-计算机毕业设计
  • Spring学习笔记2 Spring的入门程序
  • 【Linux】虚拟机安装Linux、客户端工具及Linux常用命令(详细教程)
  • Day 47 动态规划 part13
  • 【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持
  • 【贝叶斯回归】【第 2 部分】--推理算法