实训-任务一
还有一个月的时间,就要放寒假了。 计科院的小伙伴们也“开心”的迎来了第一次实训。 有很多人感觉实训任务一的五个题目很难。 但老师安排的时间是用两天的时间完成任务一。 也就是今天应该完成这五个题目了~ 接下来给大家讲讲关于这些题目,我的思路。
首先还是来看看这五个题目:
1-1: 二进制转十进制(5分) 样例输入:100001.101 样例输出:33.625
1-2: 十进制整数转二进制(5分) 样例输入:267 样例输出:100001011
1-3: 十进制小数转二进制(5分) 样例输入:0.71875 样例输出:0.10111 说明:小数点后不超过10位
1-4: 带小数的十进制转二进制(5分) 样例输入:327.671875 样例输出:101000111.101011 说明:小数点后不超过10位
1-5: 十六进制转二进制(5分) 样例输入:16AC9 样例输出:10110101011001001
可以看到第一次任务的五个题目全都是关于进制转换,而且载着我个题目里面,第四题是我们学校2017年的校赛题目,在之前我也发过关于这题的解法。
第一题:二进制转换十进制
这题我们从两个点来思考:
首先解决第一点:整数部分的转换方法
个人习惯定义字符数组
第一点:代码实现
整数部分的运行结果: 可自行验证~,记得在输出%d的后面输出一个小数点哦~
第二点:代码实现
小数部分转换成二进制:
最后运行结果:
可自行验证结果
可能有的同学或问我
为什么要把小数部分也依次输出每个数呢?
因为这样可以控制末尾没有多余的0呀~
第二题:十进制整数转换二进制
十进制转换二进制的方法其实在之前发过,而且不止一次。 用数组方法输出二进制(蓝桥杯试题答案 T2)
我今天教大家一个偷懒的方法转换二进制
代码实现
运行结果:
可以自行验证哦~
第三题:十进制小数转换成二进制 第四题:带小数的十进制转二进制
其实这两题在之前发的蓝桥杯校赛中也提到过 (传送门:【题目解答】蓝桥杯校赛) 浮点数转换成二进制
第五题:十六进制数转换二进制
思路: 或许会有人在想怎么直接从十六进制转换成二进制,这样的确可以,但是会遇到些许麻烦。我的思路是:先把十六进制转换成十进制数,再把十进制数转换成二进制(可以用第二题给大家的函数哦)
代码实现:
运行结果:
实训任务一的五个题目的解答简单地给大家讲了一下
希望大家能够记住相关操作
点个赞吧(づ ̄_ ̄)づ╭❤~
有人说看不清代码,这里用百度网盘分享一下
但是保存的没有