题目地址:https://acmore.cc/problem/LOCAL/1566

 1 #include <iostream>
 2 #include <string>
 3
 4 using namespace std;
 5
 6 string HexToBin(string s)  //16进制转2进制
 7 {
 8     string str = "";
 9     for (int i = 0; i < s.size(); ++i)
10     {
11         switch (s[i])
12         {
13         case '0': str += "0000"; break;
14         case '1': str += "0001"; break;
15         case '2': str += "0010"; break;
16         case '3': str += "0011"; break;
17         case '4': str += "0100"; break;
18         case '5': str += "0101"; break;
19         case '6': str += "0110"; break;
20         case '7': str += "0111"; break;
21         case '8': str += "1000"; break;
22         case '9': str += "1001"; break;
23         case 'A': str += "1010"; break;
24         case 'B': str += "1011"; break;
25         case 'C': str += "1100"; break;
26         case 'D': str += "1101"; break;
27         case 'E': str += "1110"; break;
28         case 'F': str += "1111"; break;
29         }
30
31     }
32     return str;
33 }
34
35
36
37 int main()
38 {
39
40     int n;
41     while (cin >> n)
42     {
43         string s;
44         for (int i = 0; i < n; ++i)
45         {
46             cin >> s;
47             string binStr = HexToBin(s);  //先将s转换为二进制串binStr
48             int a = (int)binStr.size() % 3;
49             if (a != 0)        //如果二进制串的长度不是3的倍数,就在前面补零
50             {
51                 for (int i = 1; i <= 3 - a; ++i)
52                     binStr = "0" + binStr;
53             }
54
55             for (int i = 0; i < binStr.size(); i += 3)
56             {
57                 string str;
58                 str = binStr.substr(i, 3);    //截取binStr长度为3的子串
59                 if (str == "000" && i != 0)
60                     cout << 0;
61                 else if (str == "001")
62                     cout << 1;
63                 else if (str == "010")
64                     cout << 2;
65                 else if (str == "011")
66                     cout << 3;
67                 else if (str == "100")
68                     cout << 4;
69                 else if (str == "101")
70                     cout << 5;
71                 else if (str == "110")
72                     cout << 6;
73                 else if (str == "111")
74                     cout << 7;
75             }
76             cout << endl;
77         }
78
79     }
80
81     return 0;
82
83 }

转载于:https://www.cnblogs.com/FengZeng666/p/10354625.html

1566:基础练习 十六进制转八进制相关推荐

  1. 【蓝桥杯】基础练习 十六进制转八进制(Java实现)

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

  2. 基础练习 十六进制转八进制 c语言

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

  3. java蓝桥杯 试题-基础练习-十六进制转八进制

    试题-基础练习-十六进制转八进制 题目 试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 ...

  4. 试题 基础练习 十六进制转八进制

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

  5. 蓝桥杯 试题 基础设计 十六进制转八进制

    蓝桥杯 基础试题 十六进制转八进制 题目描述: 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10).接下来n行,每行一个由0到9, ...

  6. Python 蓝桥杯试题 基础练习 十六进制转八进制

    Python 蓝桥杯试题 基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行, ...

  7. 十六进制转八进制java_基础练习-十六进制转八进制 -JAVA蓝桥杯

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

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

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

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

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

最新文章

  1. mysql v8 漏洞_mysql'密码安全 - osc_v8gts6gd的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. Python作为机器学习语言的老大,跟在它后面的语言都是谁?
  3. 联发科mt8516价格_智能语音助手宠儿——联发科MT8516智能AI音箱核心板
  4. Content-Type一览
  5. java 静态变量 new_java中静态对象和普通变量在初始化静态变量的时候有什么区别??高手!!...
  6. 一行代码,揭开 CPU 执行原理!
  7. PHP 异常处理 throw new exception
  8. ecs mysql 安装_CentOS8 安装MySQL8(ECS系列二)
  9. 【网络】无法解析服务器的DNS地址?;能登陆QQ,无法打开网页
  10. curl如何发送json数据?如何发送form数据?python的restfull又该如何获取这些数据?...
  11. minikube 部署
  12. Powershell-快速编辑模式和标准模式
  13. Ubuntu 16.04安装网络流量监控工具Netspeed(附带10款最佳的指示器工具)
  14. Vue项目上线(阿里云centos7+nginx)
  15. 中科院大学计算机科学与技术王伟强,王伟强-中国科学院大学-UCAS
  16. Apache 错误日记(Error Log)记录分析
  17. 关于图像分割的预处理 transform
  18. 论文阅读:Recurrent Neural Networks for Time Series Forecasting Current Status and Future Directions
  19. linux下$0是什么含义,echo $? 这个东东$?在linux系统里是什么含义?
  20. 马云:大数据云计算是阿里未来核心战略

热门文章

  1. 【JS 逆向百例】X球投资者社区 cookie 参数 acw_sc__v2 加密分析
  2. 【HDU - 4055】Number String(dp,思维)
  3. *【51nod - 1459】迷宫游戏(记录双向权值的Dijkstra单源最短路)
  4. 图解算法学习笔记(五):散列表
  5. java servlet 转发和重定向_JavaWeb(一)Servlet中乱码解决与转发和重定向的区别
  6. nginx指定配置文件启动_【第1717期】Nginx入门指南
  7. C++ STL与迭代器
  8. 关于关闭SELinux的方法
  9. 用Docker容器自带的tensorflow serving部署模型对外服务
  10. 深度学习(11)-- GAN