蓝桥杯 十六进制转为八进制 C语言版
**
蓝桥杯 十六进制转为八进制
**
题目
给定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语言版相关推荐
- 蓝桥杯 十六进制转十进制 C语言版
蓝桥杯 十六进制转十进制 C语言版 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示 ...
- 菜菜的刷题日记 | 蓝桥杯 — 十六进制转八进制(纯手撕版)附进制转换笔记
系列索引:菜菜的刷题日记 | 被LeetCode用Python狂虐的那段日子 万万没想到啊,回老家过年断更的几天之后,我会因为无聊在除夕这天做了会儿题,然后写篇题解. 文章目录 [题目] [我的代码] ...
- 蓝桥杯16转八c语言,蓝桥杯 十六进制转八进制
思路: 先将十六进制转为二进制,再将二进制转为八进制 代码: #include #include #include #include #include #include #define for1(i, ...
- 蓝桥杯-十六进制转八进制(java)
基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB问题描述给定n个十六进制正整数,输出它们对应的八进制数.输入格式输入的第一行为一个正整数n (1<=n<=10).接 ...
- 蓝桥杯:十六进制转八进制
基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n< ...
- 蓝桥杯——十六进制转八进制(Java解法)
这道题其实挺难的,之前做过一次,用的十六进制转化为十进制,然后用十进制再转化为八进制,代码很简单,用的jdk上自带的进制转换进行换算. import java.util.Scanner; /** * ...
- 蓝桥杯-十六进制转八进制
这个题还是有点含金量,第一遍做出来,很可能会超时,比如以下代码: import java.util.ArrayList; import java.util.Scanner;public class M ...
- 蓝桥杯——十六进制转八进制
资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行 ...
- 蓝桥杯 基础练习(十二) 十六进制转八进制 C语言
十六进制转八进制 C语言 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大写字母AF ...
最新文章
- android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题
- 安装 | Android studio连接不上真机解决办法(电脑安装虚拟机不成功的情况下)
- JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式!...
- lecture6-mini批量梯度训练及三个加速的方法
- 12月16日课程安排
- 自考c语言程序阅读题,自考C语言程序设计模拟试题二答案.DOC
- git基础-远程仓库的使用
- 计算机自动关闭硬盘,你遇到过电脑硬盘自动关闭的问题吗?
- Centos7安装Redis4.0.8
- GNU make使用(二)
- UVa 714 抄书(贪心+二分)
- 面试题3二维数组中的查找
- 第一冲刺阶段意见汇总
- mysql和oracle的字符串拼接_Oracle和Mysql中的字符串的拼接
- oracle导出为dmp文件,oracle导出dmp文件的2种方法
- 百度网盘设置自定义提取码
- 淘汰安卓机废物利用(三) 网站服务器,安卓手机当服务器的方法,完成废物利用...
- The page at ‘xxx‘ was loaded over HTTPS, but requested an insecure resource ‘xxx‘.
- win10修改本地密钥服务器,win10密钥服务器
- 探索Activity之启动Intent Flag和taskAffinity