1566:基础练习 十六进制转八进制
题目地址: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:基础练习 十六进制转八进制相关推荐
- 【蓝桥杯】基础练习 十六进制转八进制(Java实现)
试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1< ...
- 基础练习 十六进制转八进制 c语言
基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大写字母A ...
- java蓝桥杯 试题-基础练习-十六进制转八进制
试题-基础练习-十六进制转八进制 题目 试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 ...
- 试题 基础练习 十六进制转八进制
试题 基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大写 ...
- 蓝桥杯 试题 基础设计 十六进制转八进制
蓝桥杯 基础试题 十六进制转八进制 题目描述: 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10).接下来n行,每行一个由0到9, ...
- Python 蓝桥杯试题 基础练习 十六进制转八进制
Python 蓝桥杯试题 基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行, ...
- 十六进制转八进制java_基础练习-十六进制转八进制 -JAVA蓝桥杯
基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n< ...
- 蓝桥杯 基础练习 十六进制转八进制
目录: 1.原题 2.解题思路 3.代码实现 1.原题 资源限制 内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s问题 问 ...
- 蓝桥杯 基础练习 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转 ...
最新文章
- mysql v8 漏洞_mysql'密码安全 - osc_v8gts6gd的个人空间 - OSCHINA - 中文开源技术交流社区...
- Python作为机器学习语言的老大,跟在它后面的语言都是谁?
- 联发科mt8516价格_智能语音助手宠儿——联发科MT8516智能AI音箱核心板
- Content-Type一览
- java 静态变量 new_java中静态对象和普通变量在初始化静态变量的时候有什么区别??高手!!...
- 一行代码,揭开 CPU 执行原理!
- PHP 异常处理 throw new exception
- ecs mysql 安装_CentOS8 安装MySQL8(ECS系列二)
- 【网络】无法解析服务器的DNS地址?;能登陆QQ,无法打开网页
- curl如何发送json数据?如何发送form数据?python的restfull又该如何获取这些数据?...
- minikube 部署
- Powershell-快速编辑模式和标准模式
- Ubuntu 16.04安装网络流量监控工具Netspeed(附带10款最佳的指示器工具)
- Vue项目上线(阿里云centos7+nginx)
- 中科院大学计算机科学与技术王伟强,王伟强-中国科学院大学-UCAS
- Apache 错误日记(Error Log)记录分析
- 关于图像分割的预处理 transform
- 论文阅读:Recurrent Neural Networks for Time Series Forecasting Current Status and Future Directions
- linux下$0是什么含义,echo $? 这个东东$?在linux系统里是什么含义?
- 马云:大数据云计算是阿里未来核心战略
热门文章
- 【JS 逆向百例】X球投资者社区 cookie 参数 acw_sc__v2 加密分析
- 【HDU - 4055】Number String(dp,思维)
- *【51nod - 1459】迷宫游戏(记录双向权值的Dijkstra单源最短路)
- 图解算法学习笔记(五):散列表
- java servlet 转发和重定向_JavaWeb(一)Servlet中乱码解决与转发和重定向的区别
- nginx指定配置文件启动_【第1717期】Nginx入门指南
- C++ STL与迭代器
- 关于关闭SELinux的方法
- 用Docker容器自带的tensorflow serving部署模型对外服务
- 深度学习(11)-- GAN