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

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

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

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

样例输入
  2
  39
  123ABC

样例输出
  71
  4435274

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

#include  <iostream>
#include <string>
#include <cmath>
using namespace std;string str2;int main() {int n;cin >> n;for (int k = 0; k < n; k++) {string str;cin >> str, cin.get();for (int i = 0; i <= str.size(); i++) {switch (str[i]){case '0':str2 += "0000"; break;case '1':str2 += "0001"; break;case '2':str2 += "0010"; break;case '3':str2 += "0011"; break;case '4':str2 += "0100"; break;case '5':str2 += "0101"; break;case '6':str2 += "0110"; break;case '7':str2 += "0111"; break;case '8':str2 += "1000"; break;case '9':str2 += "1001"; break;case 'A':str2 += "1010"; break;case 'B':str2 += "1011"; break;case 'C':str2 += "1100"; break;case 'D':str2 += "1101"; break;case 'E':str2 += "1110"; break;case 'F':str2 += "1111"; break;}}//去掉前面的0int i = 0;while (str2[i] == '0'){i++;}str2.erase(str2.begin(), str2.begin() + i);int j = 0;while (j < str2.size()) {if (j == 0 && str2.size() % 3 != 0) i = str2.size() % 3 - 1;else i = 2;int tmp = 0;for (; i >= 0; i--)tmp += (str2[j++] - '0')*pow(2, i);cout << tmp;}cout << endl;str2.clear();}}

2016-11-1016:14:59

转载于:https://www.cnblogs.com/IKnowYou0/p/6051362.html

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

  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. Docker Swarm Beta 发布,Docker 集群管理
  2. Windows下MongoDB安装及创建用户名和密码
  3. 《深入解析Android 5.0系统》——第1章,第1.2节安装开发包
  4. mysql centos7 默认密码忘记_centos7 mysql忘记密码解决办法
  5. php模板意思,php中的 是什么意思
  6. stm32编码器正反转计数程序_第六章:STM32CubeMx 定时器编码器模式基本使用方法...
  7. mysql 表变量_在MySQL中创建表变量
  8. YACC(BISON)使用指南
  9. 计算机科学概论_第1章_数据储存
  10. 使用BeautifulSoup爬取“0daydown”网站的信息(1)
  11. vmware workstation14密钥记录
  12. 弹性板计算和板带划分计算_彻底搞懂板带的配筋及范围
  13. 华氏温度转换为摄氏温度
  14. The JAVA_HOME environment variable is not defined correctly 解决方法
  15. 51单片机学习笔记7 -- 超声波测距
  16. 《多基因病的遗传》学习笔记
  17. 在WORD表格中如何实现加法?
  18. ac自动机(模板+一点点小优化)
  19. Shellshock-破壳漏洞bash命令执行 CVE-2014-6271
  20. Arduino+Proteus 模拟摩尔斯码求救信号

热门文章

  1. ospf-cost-FR选路实验
  2. dagger android 学习(二):AndroidInjector的使用
  3. Tornado報錯AttributeError: Unrecognized option 'port'
  4. EIGENVECTORS FROM EIGENVALUES论文结论举例验证
  5. Understanding Clouds from Satellite Images语义分割比赛中train_test_split与stratify配合使用
  6. hive中的数据库与mysql中的hive数据库的关系
  7. C++STL容器排序查找效率测试
  8. C++自定义直方图均衡化
  9. 《机器学习》 周志华学习笔记第四章 决策树(课后习题)python 实现
  10. 深度学习(三十三)——GAN参考资源