PTA基础编程题目集 7-4 BCD解密(C语言实现)
题目描述摘要本文介绍了一道基于 BCD 码误解的编程题。题目给出一个被错误当作二进制数转成十进制的 BCD 值范围 0–153要求程序将其还原为正确的十进制数。核心思路是将错误值的高 4 位和低 4 位分离再按十进制位权十位×10 个位组合输出。BCD 数是用一个字节来表达两位十进制的数每四个比特表示一位。所以如果一个 BCD 数的十六进制是 0x12它表达的就是十进制的 12。但是小明没学过 BCD把所有的 BCD 数都当作二进制数转换成十进制输出了。于是 BCD 的 0x12 被输出成了十进制的 18 了现在你的程序要读入这个错误的十进制数然后输出正确的十进制数。提示你可以把 18 转换回 0x12然后再转换回 12。输入格式输入在一行中给出一个[0, 153]范围内的正整数保证能转换回有效的BCD数也就是说这个整数转换成十六进制时不会出现A-F的数字。输出格式输出对应的十进制数。输入样例18输出样例12原始十进制数12BCD 编码0x12每4位表示一位十进制小明误解当作二进制按位权转为十进制错误输出18即 0x12 162 18程序读入错误值 n 18提取高4位n / 16 1提取低4位n % 16 2十位 × 10 个位1 × 10 2 12输出正确结果12代码部分实现#includestdio.hintmain(){intn;scanf(%d,n);// 读入小明转换出的“错误的十进制数”例如 18// 小明把 BCD 数如 0x12当成二进制数转换成十进制// 所以他得到的值其实就是 BCD 数的十六进制表示本身。// 例如 0x12 → 0001 0010 → 二进制值 18 就是 0x12 的十进制形式。// 因此 n 确实等于原始 BCD 的十六进制值。// 分离十六进制的高 4 位十位和低 4 位个位// n / 16 相当于右移 4 位得到高 4 位的值0–9 之间的十位数字inthigh_digitn/16;// n % 16 相当于与 0x0F 按位与得到低 4 位的值0–9 之间的个位数字intlow_digitn%16;// 按十进制位权重新组合十位 × 10 个位intresulthigh_digit*10low_digit;printf(%d\n,result);// 输出正确的十进制数例如 12return0;}算法步骤总结读入错误值scanf(%d, n)获取小明误解后输出的十进制数该值恰好就是原始 BCD 数的十六进制表示因为小明把它当二进制数转成了十进制。提取十位high_digit n / 16。整数除法相当于将二进制表示右移 4 位截取高 4 位对应原 BCD 的十位数字取值范围 0–9。提取个位low_digit n % 16。取模运算相当于只保留低 4 位对应原 BCD 的个位数字取值范围 0–9。重组正确值result high_digit * 10 low_digit。将提取出的十位和个位按十进制位权相加得到原本的 BCD 十进制表示。输出printf(%d\n, result)打印正确答案。

相关新闻

OpenClaw与向量引擎:大模型API统一调用与性能优化方案

OpenClaw与向量引擎:大模型API统一调用与性能优化方案

1. 项目背景与核心价值最近在开发者社区掀起热议的OpenClaw与向量引擎组合方案,本质上解决了一个困扰AI应用落地的关键问题——如何高效对接不同大语言模型的API接口。作为一名长期从事AI工程化的开发者,我亲身体验过在多模型间切换时的痛苦:…

2026/9/29 16:42:57 阅读更多 →
涂胶显影设备 技术经理|18维度详细完整版简历能力综述

涂胶显影设备 技术经理|18维度详细完整版简历能力综述

1. 底层理论与专业储备 深耕半导体涂胶显影设备垂直赛道多年,构建了覆盖设备结构、精密控制、光刻工艺、制程良率的全维度底层理论体系,精通8/12英寸晶圆、先进封装、功率器件、LCD/OLED面板等多场景光刻涂布、软烘、硬烘、曝光、显影全制程核心机理。熟练掌握纳米级光刻胶薄…

2026/10/1 6:09:39 阅读更多 →
C++实现B-tree:从原理到工程实践,掌握数据库索引核心数据结构

C++实现B-tree:从原理到工程实践,掌握数据库索引核心数据结构

1. 项目概述:为什么我们需要亲手实现一个B-tree?如果你写过C,尤其是接触过数据库、文件系统或者需要处理海量磁盘数据的场景,那你大概率听说过B-tree。教科书上把它描述为一种“自平衡的树状数据结构”,用于在磁盘等直…

2026/10/3 14:56:59 阅读更多 →

最新新闻

BP神经网络如何把桥梁爆破方案评估变成可计算的数学模型

BP神经网络如何把桥梁爆破方案评估变成可计算的数学模型

简介:《基于BP神经网络的工程兵桥梁爆破方案评估模型》是一份面向军事工程领域与数据建模学习者的PDF技术资料,聚焦军用桥梁爆破方案评估的专业性与复杂性,提出以BP神经网络替代传统经验判断和统计方法的解决思路。文档在分析爆破人员、爆破目…

2026/10/5 15:21:51 阅读更多 →
2024下半年软考高级系统架构设计师真题:75题无答案版刷题策略与考点解析

2024下半年软考高级系统架构设计师真题:75题无答案版刷题策略与考点解析

简介:2024下半年软考高级系统架构设计师综合知识真题(第1-75题),面向备考软考高级架构的考生、培训讲师及需要真题练习的开发者。PDF内含上午综合知识全套选择题,仅试题无解析,排版适合直接打印进行限时模拟…

2026/10/5 15:21:51 阅读更多 →
OTN技术体系详解:从网络架构到帧结构与保护配置

OTN技术体系详解:从网络架构到帧结构与保护配置

简介:这份PDF从ITU-T标准体系入手,系统讲解OTN核心规范与分层架构,面向光传输网络工程师、运维人员及通信专业学生,是理解OTN技术体系的入门与速查材料。内容重点展开G.872定义的光传送网分层结构(光信道层、光复用段层…

2026/10/5 15:21:51 阅读更多 →
自动编码器+LSTM做车流量预测:从原理到复现避坑

自动编码器+LSTM做车流量预测:从原理到复现避坑

简介:该PDF为一篇正式发表的交通流预测研究论文,刊于《计算机与数字工程》2019年第5期,面向智能交通、深度学习及数据分析方向的研究人员和工程师。论文针对城市短时车流量预测问题,提出自动编码器与LSTM递归神经网络相结合的混合…

2026/10/5 15:21:51 阅读更多 →
ikuuu2-ikuuu3 - 青龙面板自动签到脚本

ikuuu2-ikuuu3 - 青龙面板自动签到脚本

ikuuu2 ikuuu3签到脚本。这款自动化脚本帮你完成平台的日常签到和任务,解放双手,再也不用每天手动操作。功能介绍 「ikuuu2-ikuuu3」脚本支持以下功能: • 自动完成每日签到 • 自动领取奖励 • 支持多账号 • 签到结果通知 使用方法 1. 下载…

2026/10/5 15:21:50 阅读更多 →
『ISOBUS 入门』第 07 节 传输层:多包报文的会话与重组

『ISOBUS 入门』第 07 节 传输层:多包报文的会话与重组

CAN 单帧的数据场最多 8 字节。而 ISOBUS 上需要传输的内容经常远超这个量:虚拟终端的对象池、文件服务器里的作业文件、包含故障码的诊断报文、车辆识别号这类长字符串。传输协议负责把这些内容切成片,并在接收端还原。 1. 两种机制 J1939 给出两套传输协议,ISOBUS 沿用:…

2026/10/5 15:20:50 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →