HWOD:九键输入法的转换

news2024/9/30 21:17:35

一、知识点

A的ASCII码是65,Z的ASCII码是90

a的ASCII码是97,z的ASCII码是122

从z到a的反循环,用26求余数

二、题目

1、描述

九键手机键盘上的数字与字母的对应: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.

而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。

数字和其它的符号都不做变换。

2、数据范围

输入的字符串长度满足  1<=n<=100

3、输入

输入100个密码,长度不超过100个字符

4、输出

输出密码变换后的字符

三、自己写的代码

#include<stdio.h>
int main() {
    int i = 0;
    char line[101];
    scanf("%s", line);
    while (line[i] != '\0') {
        if (line[i] >= 'a' && line[i] <= 'z') {
            if (line[i] == 'a' || line[i] == 'b' || line[i] == 'c') {
                line[i] = '2';
            } else if (line[i] == 'd' || line[i] == 'e' || line[i] == 'f') {
                line[i] = '3';
            } else if (line[i] == 'g' || line[i] == 'h' || line[i] == 'i') {
                line[i] = '4';
            } else if (line[i] == 'j' || line[i] == 'k' || line[i] == 'l') {
                line[i] = '5';
            } else if (line[i] == 'm' || line[i] == 'n'  || line[i] == 'o') {
                line[i] = '6';
            } else if (line[i] == 'p' || line[i] == 'q' || line[i] == 'r' ||
                       line[i] == 's') {
                line[i] = '7';
            } else if (line[i] == 't' || line[i] == 'u' || line[i] == 'v') {
                line[i] = '8';
            } else if (line[i] == 'w' || line[i] == 'x'  || line[i] == 'y' ||
                       line[i] == 'z') {
                line[i] = '9';
            }
        } else if (line[i] >= 'A' && line[i] <= 'Z') {
            line[i] = 'a' + (line[i] + 32 - 'a' + 1) % 26;
        } else {

        }
        i++;
    }
    printf("%s\n", line);
    return 0;
}

四、测试

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

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

相关文章

ubuntu 中安装docker

1 资源地址 进入ubuntu官网下载Ubuntu23.04的版本的镜像 2 安装ubuntu 这里选择再Vmware上安装Ubuntu23.04.6 创建一个虚拟机&#xff0c;下一步下一步 注意虚拟机配置网络桥接&#xff0c;CD/DVD选择本地的镜像地址 开启此虚拟机&#xff0c;下一步下一步等待镜像安装。 3…

自动化面试常见算法题!

1、实现一个数字的反转&#xff0c;比如输入12345&#xff0c;输出54321 num 12345 num_str str(num) reversed_num_str num_str[::-1] reversed_num int(reversed_num_str) print(reversed_num) # 输出 54321代码解析&#xff1a;首先将输入的数字转换为字符串&#xff…

Tensorflow2.0笔记 - 使用compile,fit,evaluate,predict简化流程

本笔记主要用compile, fit, evalutate和predict来简化整体代码&#xff0c;使用这些高层API可以减少很多重复代码。具体内容请自行百度&#xff0c;本笔记基于FashionMnist的训练笔记&#xff0c;原始笔记如下&#xff1a; Tensorflow2.0笔记 - FashionMnist数据集训练-CSDN博…

六、保持长期高效的七个法则(二)Rules for Staying Productive Long-Term(2)

Rule #5 - If your work changes, your system should too. 准则五&#xff1a;如果你的工作变了&#xff0c;你的系统也应该改变。 For some, work will be consistent enough to not need major changes.You simply stick to the same system and you’ll get the results y…

PL/SQL概述

oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 PL/SQL概述 PL/SQL(Procedural Language extension to SQL)是 Oracle 对标准 SQL语言的扩充&#xff0c;是专门用于各种环境下对 Oracle 数据库进行访问和开发的语言。 由…

HWOD:对n个字符串按照字典序排序

一、知识点 1、pow函数 引用头文件math.h 求x的y次方 2、链接数学库 math.h头文件对应的库名称是libm sudo find / -name libm.so -print ls /usr/lib/x86_64-linux-gnu/ 链接命令&#xff1a;gcc xxx.c -L. -lm 3、52进制 A的ASCII码是65&#xff0c;Z的ASCII…

Ubuntu 配置 kubernetes 学习环境,让外部访问 dashboard

Ubuntu 配置 kubernetes 学习环境 一、安装 1. minikube 首先下载一下 minikube&#xff0c;这是一个单机版的 k8s&#xff0c;只需要有容器环境就可以轻松启动和学习 k8s。 首先你需要有Docker、QEMU、Hyperkit等其中之一的容器环境&#xff0c;以下使用 docker 进行。 对…

OpenCV模块熟悉:点云处理相关

1. 显示--VIZ 曾经基于PCL 做过不少点云相关的开发&#xff0c;采样VTK进行有点云显示。后来基于OpenCV做了不少三维重建工作&#xff0c;总是将点云保存下来&#xff0c;然后借助CloudCompare等查看结果。如果能够将VIZ编译进来&#xff0c;预计会提升开发速度。 …

aws 入门篇 02.区域和可用区

aws入门篇 02.Region和AZ 02.区域和可用区 区域&#xff08;Region&#xff09;&#xff1a;us-east-1&#xff1a;美东1区可用区&#xff08;Availability Zones&#xff09; AWS的区域遍布世界各地 一个区域&#xff08;Region&#xff09;是由多个可用区&#xff08;AZ&am…

从根本上优雅地解决 VSCode 中的 Python 模块导入问题

整体概述&#xff1a; 在我尝试运行 test_deal_file.py 时&#xff0c;我遇到了一个 ModuleNotFoundError 错误&#xff0c;Python告诉我找不到名为 controllers 的模块。这意味着我无法从 deal_file.py 中导入 read_excel 函数。 为了解决这个问题&#xff0c;我尝试了几种方法…

Sublime for Mac 使用插件Terminus

1. 快捷键打开命令面板 commandshiftp2. 选择 Package Control: Install Package&#xff0c;然后会出现安装包的列表 3. 在安装终端插件前&#xff0c;我们先装个汉化包&#xff0c;ChineseLocallization&#xff0c;安装完重启 4. 输入 terminus&#xff0c;选择第一个&am…

Pillow教程06:将图片中出现的黄色和红色,改成绿色

---------------Pillow教程集合--------------- Python项目18&#xff1a;使用Pillow模块&#xff0c;随机生成4位数的图片验证码 Python教程93&#xff1a;初识Pillow模块&#xff08;创建Image对象查看属性图片的保存与缩放&#xff09; Pillow教程02&#xff1a;图片的裁…

nvm安装以后,node -v npm 等命令提示不是内部或外部命令

因为有vue2和vue3项目多种&#xff0c;所以为了适应各类版本node,使用nvm管理多种node版本&#xff0c;但是当我按教程安装nvm以后&#xff0c;nvm安装以后&#xff0c;node -v npm 等命令提示不是内部或外部命令 首先nvm官网网址&#xff1a;https://github.com/coreybutler/…

iOS - Runtime-消息机制-objc_msgSend()

iOS - Runtime-消息机制-objc_msgSend() 前言 本章主要介绍消息机制-objc_msgSend的执行流程&#xff0c;分为消息发送、动态方法解析、消息转发三个阶段&#xff0c;每个阶段可以做什么。还介绍了super的本质是什么&#xff0c;如何调用的 1. objc_msgSend执行流程 OC中的…

接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送

接口自动化之 Jenkins Allure报告生成 企微消息通知推送 在jenkins上部署好项目&#xff0c;构建成功后&#xff0c;希望可以把生成的报告&#xff0c;以及结果统计发送至企微。 效果图&#xff1a; 实现如下。 1、生成allure报告 a. 首先在Jenkins插件管理中&#x…

sqlite跨数据库复制表

1.方法1 要将 SQLite 数据库中的一个表复制到另一个数据库&#xff0c;您可以按照以下步骤操作&#xff1a; 备份原始表的SQL定义和数据&#xff1a; 使用 sqlite3 命令行工具或任何SQLite图形界面工具&#xff0c;您可以执行以下SQL命令来导出表的SQL定义和数据&#xff1a…

libVLC 视频抓图

Windows操作系统提供了多种便捷的截图方式&#xff0c;常见的有以下几种&#xff1a; 全屏截图&#xff1a;通过按下PrtSc键&#xff08;Print Screen&#xff09;&#xff0c;可以截取整个屏幕的内容。截取的图像会保存在剪贴板中&#xff0c;可以通过CtrlV粘贴到图片编辑工具…

Machine Learning机器学习之K近邻算法(K-Nearest Neighbors,KNN)

目录 前言 背景介绍&#xff1a; 思想&#xff1a; 原理&#xff1a; KNN算法关键问题 一、构建KNN算法 总结&#xff1a; 博主介绍&#xff1a;✌专注于前后端、机器学习、人工智能应用领域开发的优质创作者、秉着互联网精神开源贡献精神&#xff0c;答疑解惑、坚持优质作品共…

探索MongoDB:发展历程、优势与应用场景

一、MongoDB简介 MongoDB 始于 2007 年&#xff0c;由 Dwight Merriman、Eliot Horowitz 和 Kevin Ryan –&#xff08;DoubleClick 的主理团队&#xff09;共同创立。 DoubleClick 是一家互联网广告公司&#xff08;现隶属于 Google&#xff09;&#xff0c;公司团队开发并利…

前端埋点全解及埋点SDK实现方式

一、什么是埋点 所谓“埋点”&#xff0c;是数据采集领域&#xff08;尤其是用户行为数据采集领域&#xff09;的术语&#xff0c;指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。 埋点…