**

蓝桥杯 十六进制转为八进制

**

题目

给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
  输出n行,每行为输入对应的八进制正整数。
【注意】
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。
样例输入
  2
  39
  123ABC
样例输出
  71
  4435274
【提示】
  先将十六进制数转换成某进制数,再由某进制数转换成八进制。

使用十进制作为中转

笔者一开始看到这个题目想的就是先将十六进制转为十进制,再将十进制转为八进制。可能是脑袋瓜子不灵活,也可能是因为学过C语言做过类型的题目,像什么十进制转八进制,八进制转十进制之类的。
代码如下:

#include<stdio.h>
#include<string.h>
int main()
{int n,t,num_ten,num_eight;char str[10][100000];scanf("%d",&n);for(int i=0;i<n;i++)scanf("%s",str[i]);for(int i=0;i<n;i++){int len = strlen(str[i])-1;         t=1;num_ten=0;while(len>=0)               //将16进制转为10进制{if(str[i][len]>='0'&&str[i][len]<='9')num_ten+=(str[i][len]-'0')*t;elsenum_ten+=(str[i][len]-'A'+10)*t;t=t*16;len--;}t=1;num_eight=0;while(num_ten)      //将10进制转为8进制{num_eight+=num_ten%8*t;t=t*10;num_ten/=8;}printf("%d\n",num_eight);}return 0;
}

笔者很单纯的将测试样例带入程序,结果显示是正确的,但是,将代码提交却是说编译结果不正确

蓝桥杯 十六进制转为八进制 C语言版相关推荐

  1. 蓝桥杯 十六进制转十进制 C语言版

    蓝桥杯 十六进制转十进制 C语言版 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示 ...

  2. 菜菜的刷题日记 | 蓝桥杯 — 十六进制转八进制(纯手撕版)附进制转换笔记

    系列索引:菜菜的刷题日记 | 被LeetCode用Python狂虐的那段日子 万万没想到啊,回老家过年断更的几天之后,我会因为无聊在除夕这天做了会儿题,然后写篇题解. 文章目录 [题目] [我的代码] ...

  3. 蓝桥杯16转八c语言,蓝桥杯 十六进制转八进制

    思路: 先将十六进制转为二进制,再将二进制转为八进制 代码: #include #include #include #include #include #include #define for1(i, ...

  4. 蓝桥杯-十六进制转八进制(java)

    基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB问题描述给定n个十六进制正整数,输出它们对应的八进制数.输入格式输入的第一行为一个正整数n (1<=n<=10).接 ...

  5. 蓝桥杯:十六进制转八进制

    基础练习 十六进制转八进制 时间限制:1.0s   内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n< ...

  6. 蓝桥杯——十六进制转八进制(Java解法)

    这道题其实挺难的,之前做过一次,用的十六进制转化为十进制,然后用十进制再转化为八进制,代码很简单,用的jdk上自带的进制转换进行换算. import java.util.Scanner; /** * ...

  7. 蓝桥杯-十六进制转八进制

    这个题还是有点含金量,第一遍做出来,很可能会超时,比如以下代码: import java.util.ArrayList; import java.util.Scanner;public class M ...

  8. 蓝桥杯——十六进制转八进制

    资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行 ...

  9. 蓝桥杯 基础练习(十二) 十六进制转八进制 C语言

    十六进制转八进制 C语言 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大写字母AF ...

最新文章

  1. android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题
  2. 安装 | Android studio连接不上真机解决办法(电脑安装虚拟机不成功的情况下)
  3. JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式!...
  4. lecture6-mini批量梯度训练及三个加速的方法
  5. 12月16日课程安排
  6. 自考c语言程序阅读题,自考C语言程序设计模拟试题二答案.DOC
  7. git基础-远程仓库的使用
  8. 计算机自动关闭硬盘,你遇到过电脑硬盘自动关闭的问题吗?
  9. Centos7安装Redis4.0.8
  10. GNU make使用(二)
  11. UVa 714 抄书(贪心+二分)
  12. 面试题3二维数组中的查找
  13. 第一冲刺阶段意见汇总
  14. mysql和oracle的字符串拼接_Oracle和Mysql中的字符串的拼接
  15. oracle导出为dmp文件,oracle导出dmp文件的2种方法
  16. 百度网盘设置自定义提取码
  17. 淘汰安卓机废物利用(三) 网站服务器,安卓手机当服务器的方法,完成废物利用...
  18. The page at ‘xxx‘ was loaded over HTTPS, but requested an insecure resource ‘xxx‘.
  19. win10修改本地密钥服务器,win10密钥服务器
  20. 探索Activity之启动Intent Flag和taskAffinity

热门文章

  1. 根据BDUSS获取用户ID信息
  2. 家政服务系统APP小程序需具备哪些功能?
  3. 关于DrvResetPDEV的函数的处理
  4. 将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow
  5. layui图片上传增加删除图标以及功能
  6. 在页头区域添加logo图像HTML,如何在表格中嵌入企业logo图片?分享两种方法
  7. 华为mate40pro怎么申请鸿蒙,华为Mate40Pro 4G预装鸿蒙2.0系统,1.0版本哪去了?
  8. 再来一道小菜:香辣丝瓜
  9. BatchNorm源码分析
  10. Java学习:面向对象编程