C语言-破解密码

题目描述

密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 
接下来渊子要在密码之上再加一套密码,虽然简单但也安全。 
假设老王原来一个BBS上的密码为zvbo941987,为了方便记忆,他通过一种算法把这个密码变换成YUANzi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。 
他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,老王把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,声明:密码中没有空格,而密码中出现的大写字母则边成小写之后往后移一位,如:X,先边成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。

输入格式

输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾。

输出格式

输出渊子真正的密文。

样例输入

YUANzi1987

样例输出

zvbo941987

#include <stdio.h>#include <stdlib.h>#include <ctype.h>char Change(char ch){if(islower(ch)){if(ch == 'a' || ch == 'b' || ch == 'c')return '2';if(ch == 'd' || ch == 'e' || ch == 'f')return '3';if(ch == 'g' || ch == 'h' || ch == 'i')return '4';if(ch == 'j' || ch == 'k' || ch == 'l')return '5';if(ch == 'm' || ch == 'n' || ch == 'o')return '6';if(ch == 'p' || ch == 'q' || ch == 'r' || ch == 's')return '7';if(ch == 't' || ch == 'u' || ch == 'v')return '8';if(ch == 'w' || ch == 'x' || ch == 'y' || ch == 'z')return '9';}else if(isupper(ch)){if(ch == 'Z')return 'a';elsereturn ch + 33;}return ch;}int main(){int i;char password[101];while(gets(password) != NULL){i=0;while(password[i] != '\0'){printf("%c",Change(password[i]));i++;}printf("\n");}return 0;}

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

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

相关文章

vue3 ts面试题 常问面试题(连更中.......有错 欢迎提出)

Vue2 和 vue3 区别 Api&#xff1f; 升级v3是因为 v2有一些基础bug 例如数据丢失等 但是 v3就解决了这个问题 v3利用了双向数据绑定 数值变化页面就该变 v2 和 v3 的 api 不一样 v2的api是选择式的 v3是组合式的 例如 setup就是组合的 v2 和 v3 的生命周期也不太一样 v2 和 v3 …

力扣LeetCode第80题 删除有序数组中的重复项 II

一、题目 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次&#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示…

excel数据使用xlsx读取转换成JSON

一般读取excel的工作都由后端完成&#xff0c;比如java使用poi插件。如果存在少量非敏感数据&#xff0c;比如日志、模板数据&#xff0c;可以直接由前端搞定。 使用xlsx插件 在线json格式化、excel转json测试 一、安装 可以安装以下版本&#xff0c;不会出现问题 yarn ad…

Mysql 中子查询时order by与group by合用无效的解决办法

存在一个需求&#xff1a; 需要获取某些条件下&#xff0c;在分组后&#xff0c;取最新的记录。 比如有张学生分数表&#xff0c;里面包含了学生一年的所有考试的语数外成绩&#xff0c;我想要获取同学A的最后一次考试成绩。 select * from ( select * from student_score wh…

HC-05蓝牙模块--------手机与STM32通信(代码编写)(上位机配置)保姆级教程

⏩ 大家好哇&#xff01;我是小光&#xff0c;嵌入式爱好者&#xff0c;一个想要成为系统架构师的大三学生。 ⏩因为之前无论是电赛还是做项目&#xff0c;都用到了蓝牙模块&#xff0c;如&#xff1a;手机和stm32的通信&#xff0c;电赛中的双车通信&#xff0c;还是遥感小车的…

R语言【stats】——处理R对象中的缺省值:na.fail(), na.omit(), na.exclude(), na.pass()

Package stats version 4.3.2 Parameters na.fail(object, ...)na.omit(object, ...)na.exclude(object, ...)na.pass(object, ...) 参数【object】&#xff1a;R 对象&#xff0c;通常是一个数据帧。 参数【...】&#xff1a;特殊方法可能需要的其他参数。 目前&#xff0…

X-AnyLabeling 图像标注工具及模型自动标注;json2yolo格式转换、yolo训练数据集划分

一、X-AnyLabeling 图像标注工具及模型自动标注 参考:https://github.com/CVHub520/X-AnyLabeling 1、下载 直接https://github.com/CVHub520/X-AnyLabeling/releases/tag/下载对应版本 软件打开: 2、自定义标注模型yaml构建 这里自定义模型自动标注加载预训练的yolov8…

LeetCode994腐烂的橘子(相关话题:矩阵dfs和bfs)

题目描述 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单…

【C#与Redis】--实践案例--案例 3:使用 Redis 实现排行榜

实现一个基本的排行榜系统通常涉及到对分数进行排序&#xff0c;而 Redis 的 Sorted Set 数据结构非常适合这种用途。以下是一个使用 StackExchange.Redis 库在 C# 中实现排行榜的简单案例&#xff1a; 安装 StackExchange.Redis 库&#xff1a; Install-Package StackExchan…

Unity坦克大战开发全流程——游戏场景——敌人——移动的敌人

游戏场景——敌人——移动的敌人 制作预制体 将坦克拖拽至场景中进行设置 写代码 让坦克在两点之间不停移动 随机坐标函数 然后在start()中调用即可 坦克要一直盯着玩家 当小于一定距离时&#xff0c;攻击玩家 重写开火逻辑 注意还要将其tag改成Monster&#xff01; 当敌人死…

虚拟化分类和实现原理

6、虚拟化分类 &#xff08;1&#xff09;完全虚拟化 直接将Hypervisor跑在0环内核态&#xff0c;客户机os跑在1环&#xff0c;一旦触发敏感指令&#xff0c;由0环的VMM进行捕获翻译&#xff0c;从而模 拟这些指令。而运行在1环的GuestOS永远都不知道自己是个虚拟机。是完全…

【Transformer】深入理解Transformer模型2——深入认识理解(上)

前言 Transformer模型出自论文&#xff1a;《Attention is All You Need》 2017年 近年来&#xff0c;在自然语言处理领域和图像处理领域&#xff0c;Transformer模型都受到了极为广泛的关注&#xff0c;很多模型中都用到了Transformer或者是Transformer模型的变体&#xff0…

OpenCV实战 -- 维生素药片的检测记数

文章目录 检测记数原图经过操作开始进行消除粘连性--形态学变换总结实现方法1. 读取图片&#xff1a;2. 形态学处理&#xff1a;3. 二值化&#xff1a;4. 提取轮廓&#xff1a;5. 轮廓筛选和计数&#xff1a; 分水岭算法&#xff1a;逐行解释在基于距离变换的分水岭算法中&…

关于链表的一些问题

求链表的中间节点 可以定义两个指针&#xff0c;一个一次走两步一个一次走一步&#xff0c;当走的快的走到NULL时&#xff0c;走的慢的就是链表的中间节点。&#xff08;此法求出的偶数个节点的链表的中间节点是它中间的第二个&#xff09; 求倒数第K个节点 也可以定义两个指…

9 权限与特权

一,访问级别 权限和特权共同决定了对API对象(例如窗口和会话)的访问级别。 权限和特权是两个不同的概念。权限定义了执行某些操作的能力,例如设置属性。特权是根据角色类型授予的权限集合。 请注意,在创建(例如 screen_create_())或销毁(例如 screen_destroy_())对…

PowerShell Instal 一键部署gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

【动态规划】673. 最长递增子序列的个数

673. 最长递增子序列的个数 解题思路 本题改造最长递增子序列但是最长子序列的长度不止一个dp数组代表以nums[i]结尾的最长子序列长度count[i]代表以nums[i]结尾的最长子序列的个数那么当nums[i]大于前面的元素nums[j]的时候&#xff0c;计算dp[i]和dp[j] 1的大小&#xff0…

新手快速上手掌握基础排序<一>

目录 引言 一&#xff1a;两数互换排序 1.画图分析 2.代码实现 二&#xff1a;三数换交换排序 1.例题举例 2.代码实现 3.再比如四数互换排序&#xff0c;也可以使用两数互换的方法来实现 &#xff0c;但最好使用基础的排序方法(冒泡法&#xff0c;选择法) 三&#xf…

PointNet人工智能深度学习简明图解

PointNet 是一种深度网络架构&#xff0c;它使用点云来实现从对象分类、零件分割到场景语义解析等应用。 它于 2017 年实现&#xff0c;是第一个直接将点云作为 3D 识别任务输入的架构。 本文的想法是使用 Pytorch 实现 PointNet 的分类模型&#xff0c;并可视化其转换以了解模…

一个WebSocket的自定义hook

一个WebSocket的自定义hook 自己封装了一个WebSocket的hook,代码如下&#xff1a; import { useEffect, useRef } from "react";const WS_URL wss://xxx // 服务地址const useSocket () > {const socketRef useRef<WebSocket>()let heartTimer 0; // …