中M25春C&Java入门PTA012 7-15 BCD解密

BCD解密 BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了! 现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。 输入格式: 输入在一行中给出一个... 阅读详情

BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!

现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。

输入格式:

输入在一行中给出一个[0, 153]范围内的正整数,保证能转换回有效的BCD数,也就是说这个整数转换成十六进制时不会出现A-F的数字。

输出格式:

输出对应的十进制数。

输入样例:

18

输出样例:

12

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB


以下是我的答案:

#include<stdio.h>
int main()
{
	int n,a,b;
	scanf("%d",&n);
	a=n/16;
	b=n%16;
	if(a+b)	printf("%d%d",a,b);
	else printf("0");
	return 0;	
} 

十进制的18=十六进制的0x12,所以将18换成十六进制的数,因为输入范围是0-153,所以除以16的商一定是个位数。由此得到0x12中的“1”,再求余数,得到0x12中的“2”。

因为是分两个数位计算的,而这个数如果是0,只需要输出一个0就行,所以用if语句判断。

拼题A 7-7 计算存款利息 拼题A 7-7 计算存款利息 (20分) 本题目要求计算存款利息,计算公式为interest=money×(1+rate) ​year ​​ −money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。 输入格式: 输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。 输出格式: 在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。 输入样例: 1000 3 0.025 输出样例: interest = 7 阅读详情

相关推荐

7-4 BCD解密

7-4 BCD解密 (10分) BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了! 现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。 ...

qq_42929814的博客 772

BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了

BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了! 现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。 实际上题目就是让你把这个数转化为16进制的数。但是一定不能把,num1*10+num2拿出来,否则就会部分任务点错误。原因我也不知道,知道的大佬

lhvgod的博客 5768

新手必看:电路设计里的‘地’到底怎么接?单点、多点、混合接地保姆级图解

本文深入解析电路设计中的接地技术,涵盖单点、多点和混合接地的原理与应用。通过详细的图解和实战案例,帮助新手理解接地在提供参考电位、构成电流回路及抑制电磁干扰中的关键作用,避免常见设计误区,提升电路稳定性与抗干扰能力。

weixin_28455801的博客 299

7-4 BCD解密 (10分)

7-4 BCD解密 (10分) BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了! 现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回1...

汪汪的博客 3586

图片数据爬取工具Image-Downloader的安装和使用

文章目录1、python安装2、下载chromedriver并配置3、下载phantomjs并配置.4、安装相关python库5、使用 安装包地址:https://github.com/sczhengyabin/Image-Downloader 下载: 方式一:打开cmd,输入: git clone https://github.com/sczhengyabin/Image-Downloader.git 方式二:打开网址 1、python安装 该数据爬取工具要求python>=3.5,由于

wxplol的博客 6674

AutoLISP 学习 (一)

AutoLISP基本语法结构、语法 以括号组成表达式,左右括号一定要成对,单、双引号也要成对,例如: (defun c:hello() (princ "\nHello world!") (prin1) ) 表达式格式:(函数名 操作数 操作数 …),例如: (setq p1 (list 0 0)) (setq p2 (list 10 10)) (setq p3 (list 20 20)) ;;; CAD中画直线,经过p1 p2 p3 (command "LINE" p1 p2 p3 ""

m0_54575622的博客 2123

c语言——PTA——计算存款利息

本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。 输入格式: 输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。 输出格式: 在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。 输入样例: 1000 3 0.025 输出样例: interest = 76.89 代码输入: #i

weixin_69439633的博客 1万+

Pixel 5 Root, 安装Xposed框架, 解锁5G教程

Pixel 5 5G手机root 教程 前几天买的手机终于到货了,现在又开始折腾了,经过我的努力,现在已经拥有root权限了。

Ender_Zhao的博客 3万+

BCD数解密(不含A-F)

BCD数是用一个字节来表示两位十进制数,每四个比特表示一位十进制数。现要输入一个[0,153]之间的数字,确保不出现(A-F)的十六进制数。二进制和十六进制和十进制之间的转换关系。例如:18(D)/0001 0010/0x12/BCD=10都是18这个十进制数在不同进制中的表达。拆分这个十进制数,先除以16,得到BCD数的十位,再除以16取余,得到BCD数的个位。

2301_78985600的博客 1804

Oracle数据库安装图文教程 附百度云oracle Database 11g 安装包

一,Oracle数据库安装包下载 1.从Oracle官网下载所需的数据库安装包【下载需要注册登录Oracle账户】     http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 2.此处有下载好的Oracle Database 11g Release 2  百度云网盘  提取码:z...

向来如此,就一定是对的吗 6万+

TSEND_C指令错误代码解析与实战排错指南

本文详细解析西门子PLC中TSEND_C指令的常见错误代码,包括连接建立、参数配置、资源限制和网络通信等错误类型。针对错误代码80C4等典型问题提供实战排错指南,帮助工程师快速诊断和解决工业通信中的连接故障,提升系统可靠性。

backprop5master的博客 414

PTA 编程题(C语言)-- 计算存款利息

PTA 编程题(C语言)-- 计算存款利息

LCCprogrammer 3612

1553B总线介绍及其硬件方案设计

军用1553B总线 1.简介 简单介绍可参考(https://blog.youkuaiyun.com/ScilogyHunter/article/details/108444231)博主写的很详细。 1553B总线是MIL-STD-1553总线的简称,其中B就是BUS,MIL-STD-1553B总线是飞机内部时分制命令/响应式多路复用数据总线。1553B数据总线标准是20世纪70年代由美国公布的一种串行多路数据总线标准。1553B总线能挂31个远置终端,1553B总线采用指令/响应型通信协议,它有三种终端类型: BC:

小幽余生不加糖 1万+

什么是 BCD(二进制编码的十进制)

BCD 是一位十进制数,由代表 0 到 9 的四位二进制数字表示。 当寄存器值以十六进制表示时,可以原样读取为十进制数,这对于处理十进制数的函数来说非常方便。 二进制数的 4 位可以表示为 0 到 15,但只有低 10 位被视为有效数字。 例如,假设运算的结果是十进制数“37”。 由于它是作为二进制数存储在实际寄存器中的,“0010 0101”就是寄存器值。 另一方面,在使用集成开发工具或液晶显示器显示人类可以确认的数​​字时,十六进制数比二进制数更容易看清,因此以十六进制“25”显示。 但是,这样做很

编程老王 3万+

一文吃透:从零到一开发一套 ABAP RAP 应用的完整路径

ABAP RAP开发实战摘要 本文系统介绍了ABAP RESTful Application Programming Model (RAP)在企业级应用开发中的实施路径。文章以出差申请业务场景为例,详细拆解了RAP开发的六步主线流程: 数据库表设计:规范主键、审计字段设计 CDS数据建模:通过视图定义业务对象实体及关联 行为定义与实现:使用BDEF声明事务规则,Behavior Pool类实现业务逻辑 业务对象投影:裁剪服务接口视图 服务定义与绑定:按OData协议暴露服务 UI集成测试:支持Fiori E

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 509

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C语言PTA题目:7-22 1022 利息

输入存款金额money、存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前)。 输入可能有多行,每行有3个整数,分别表示金额,存期(年),年利率(百分比数)。 根据money * (1+rate)year-money 来计算利息,每个输入对应一行输出,保留小数点两位。

weixin_63249578的博客 2480

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

c语言 计算存款利息

计算存款利息 本题目要求计算存款利息,计算公式为interest=(money×(1+rate)^ ​year)​​−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。 输入格式: 输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。 输出格式: 在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。 输入样例: 1000 3 0.025 输出样例: interest = 76.89 #include

peoig的博客 4万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C语言:计算存款利息

请分别计算出一年后按3种方法所得到的本息和。(3)存两次半年定期,年利率为0.0198;(2)一年期定期,年利率为0.0225;(1)活期,年利率为0.0036;

滴滴滴 5567

2-4. BCD解密(10)

BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了! 现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。 输入格式: 输入在一行中给

rabbit8848的专栏 4489

c语言编程练习题:7-96 计算存款利息

代码来自:https://yunjinqi.top/article/221。

云金杞 2896

c语言计算利息

新手入门C语言

weixin_59527409的博客 5451

BCD数(非原创,摘抄而来)

那么,这里就存在一个问题,我们使用计算器,是输入的为十进制数 25,但是计算机使用二进制数来处理信息,那么就得将 25 (D)转化成 0001 1001 (B),同样计算 25 + 25时,计算机也是处理二进制的25相加,而运算结果 0011 0010(B)还是的需要转化为 十进制 50,展示给人看。前人想出了,一种比较适合十进制系统的二进制编码的特殊形式,即将1位十进制的0~9这十个数字分别用4位二进制的组合来表示,在此基础上可按位对任意十进制数进行编码。那么,计算次数越多,这损失的效率越大。

xipan_的博客 1153
上一篇: 中M25春C&Java入门PTA011 7-14 然后是几点
下一篇: 中M25春C&Java入门PTA013 7-16 计算符号函数的值
Wind_3421
博客等级 码龄4年 20粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值