qq_32641165 2016-02-16 12:58 采纳率: 0%
浏览 4288

蓝桥杯 十六进制转换成八进制

问题描述
  给定n个十六进制正整数,输出它们对应的八进制数。

输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式
  输出n行,每行为输入对应的八进制正整数。

  【注意】
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。

样例输入
  2
  39
  123ABC

样例输出
  71
  4435274

  【提示】
  先将十六进制数转换成某进制数,再由某进制数转换成八进制。

 ![图片说明](https://img-ask.csdn.net/upload/201602/16/1455627380_783805.png)
 ![图片说明](https://img-ask.csdn.net/upload/201602/16/1455627416_974764.png)

 测试对的 可是提交后却是零分,不懂哪里错了,求指导
  • 写回答

2条回答 默认 最新

  • 奇才小胜 2016-02-16 14:03
    关注

    你题目没有看清楚,十六进制数的最高位是100000位,也就是最大数是16^100001-1,这个数远远比int型能表示的最大数要大。
    所以肯定不行。其次你的方法有一点投机取巧,利用c++本身的特点进行转化。建议使用字符串表示然后一个一个的将十六进制
    数转化为八进制。

    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样