十六进制转化为八进制
2016-03-05 22:47
190 查看
问题描述
给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
输出n行,每行为输入对应的八进制正整数。
【注意】
输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。
样例输入
2
39
123ABC
样例输出
71
4435274
【提示】
先将十六进制数转换成某进制数,再由某进制数转换成八进制。
给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
输出n行,每行为输入对应的八进制正整数。
【注意】
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=10000000+5; string str1,str2; int cmp[maxn]; int main() { int t; scanf("%d",&t); while(t--) { cin>>str1; int str1_len=str1.length(); str2=""; for(int i=0;i<str1_len;i++) { switch(str1[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; } } int str2_len=str2.length(); if(str2_len%3==1) str2="00"+str2; if(str2_len%3==2) str2="0"+str2; str2_len=str2.length(); int j=0; for(int i=0;i<str2_len-1;i+=3) { cmp[j]=(str2[i]-'0')*4+(str2[i+1]-'0')*2+(str2[i+2]-'0'); j++; } for(int i=0;i<j;i++) { if(i==0&&cmp[i]==0) continue; cout<<cmp[i]; } cout<<endl; } return 0; }
输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。
样例输入
2
39
123ABC
样例输出
71
4435274
【提示】
先将十六进制数转换成某进制数,再由某进制数转换成八进制。
相关文章推荐
- 一个斜率优化?
- 接口测试及一些想法
- Oracle Application Testing Suite 12.5.0.2Sample MedRec无法访问问题
- JDBC连接数据库,增删改查的应用
- LeetCode96——Unique Binary Search Trees
- 去掉Activity的头部标题栏及全屏显示解决方案 .
- 关于求对称字符串长度的思考
- Overloads和Overrides在元属性继承上的特性
- GDOI2016模拟3.5总结
- Jquery中get函数
- Android中design包中的新控件2
- TCP/IP网络协议之DHCP简介
- 实例详解机器学习
- 开博了
- 一些数学基础
- Ubuntu常用命令
- java编译命令
- Android自定义点击下拉列表
- 传智博客 数组
- Improve Android App Performance