问题描述
给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
输出n行,每行为输入对应的八进制正整数。
【注意】
输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。
样例输入
2
39
123ABC
样例输出
71
4435274
【提示】
先将十六进制数转换成某进制数,再由某进制数转换成八进制。
分析:先转成二进制,然后按3的倍数在前面补上0,然后转为对应的八进制,记得前面如果有0要去掉~

#include <iostream>
#include <map>
using namespace std;
int main() {string b, s, a;int n;cin >> n;string arr[16] = {"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000","1001", "1010", "1011", "1100", "1101", "1110", "1111"};map<string, string> m;m["000"] = "0"; m["001"] = "1"; m["010"] = "2"; m["011"] = "3"; m["100"] = "4";m["101"] = "5"; m["110"] = "6"; m["111"] = "7";for(int i = 0; i < n; i++) {cin >> s;int lens = s.length();for(int j = 0; j < lens; j++) {if(s[j] > '9') {b += arr[s[j] - 'A' + 10];} else {b += arr[s[j] - '0'];}}int lenb = b.length();if(lenb % 3 == 1) {b = "00" + b;} else if(lenb % 3 == 2) {b = "0" + b;}int flag = 0;for(int j = 0; j < lenb; j += 3) {string temp = b.substr(j, 3);string t = m[temp];if(j == 0 && t == "0") {flag = 1;continue;}if(flag == 1 && j == 3 && t == "0") {continue;}cout << t;}cout << endl;b = "";}return 0;
}

蓝桥杯-基础练习 十六进制转八进制相关推荐

  1. 蓝桥杯 基础练习 十六进制转八进制

    目录: 1.原题 2.解题思路 3.代码实现 1.原题 资源限制 内存限制:512.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s问题 问 ...

  2. 蓝桥杯 基础练习 十六进制转八进制

    问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转 ...

  3. 蓝桥杯——基础练习 十六进制转八进制

    问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转 ...

  4. [蓝桥杯]基础练习 十六进制转八进制

    16进制转成2进制,2进制转成8 #include<iostream> #include<string> #include<vector>using namespa ...

  5. 蓝桥杯练习题之十六进制转八进制

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

  6. 蓝桥杯——基础练习——十六进制转十进制

    package com.study.蓝桥杯.基础练习;/* 问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出.注:十六进制数中的10~15分别用大写的英文字母A.B ...

  7. 蓝桥杯C语言 十六进制转八进制

    十六进制转八进制 思路分析: 39十六进制先转换为4位二进制,3为0011,9为1001,所以39的二进制为00111001,又把二进制转化为3位八进制,从右边开始数,001为1,111为7,所以39 ...

  8. 蓝桥杯练习:十六进制转八进制

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

  9. 蓝桥杯基础练习十六进制转十进制

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

最新文章

  1. 推荐几个开源类库,超好用,远离996!
  2. Python模拟登录,Python识别图形验证码实现自动登陆
  3. c json 数组转dirction_值得掌握的命令行JSON工具jq
  4. 算法复习(7)有序二叉树
  5. 【Python金融量化 7- 100 】、七、计算两只股票方差和相关性
  6. 开头和结尾标记 在不同系统_写人作文的写作技巧。含思维导图、开头结尾写法及范文分析...
  7. java 8流自定义收集器_Java 8编写自定义收集器简介
  8. Java加密与解密的艺术~数字签名~模型分析
  9. pyTorch实现C3D模型的视频行为识别实践
  10. Android GridView 分页加载数据
  11. C语言根号下ln怎么表示,c语言ln根号x
  12. 小程序按钮如何制作?
  13. OPENSSH格式的private key转换成RSA格式生成pem文件
  14. 介绍一下什么是静态独享代理ip。
  15. “爆炸图“ArcGIS中制作一张好看的爆炸分析图(附练习数据)
  16. 数据质量监控工具-Apache Griffin
  17. bat命令修改文件夹的后缀名
  18. 读《当众讲话诀窍》-殷亚敏 (2)
  19. 浙江省中小学信息技术课 9 月换新教材,大数据人工智能占 80%
  20. 两阶段鲁棒优化程序 采用微网为模型,主要将安装成本、运营成本以及综合效益三个方面纳入考虑范围

热门文章

  1. [七]JavaIO之 PipedInputStream 和 PipedInputStream
  2. django url 中的namespace详解
  3. C# 通过一个控制台打开另一个控制台
  4. [转]Newtonsoft.Json高级用法
  5. Mongo 与 SQL 操作对应介绍
  6. 2000条你应知的WPF小姿势 基础篇69-73 WPF Freeze机制和Template
  7. WEB前端开发规范文档
  8. 谷歌和GitHub 联手提出新方法,提振软件供应链安全
  9. CISA:企业断网3到5天,赶走网络中的 SolarWinds 黑客
  10. PHP Composer 新漏洞可引发大规模供应链攻击