蓝桥杯练习试题——十六进制转换成八进制
来源:互联网 发布:考试通软件 编辑:程序博客网 时间:2024/06/05 09:51
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n =0, i =0, j =0, temp =0, nNum =0;
char ch;
string strHex[10];
string strBin[10];
string strOct[10];
cin>>n;
//输入十六进制
for (i =0; i < n; ++i)
{
cin>>strHex[i];
}
//十六进制转二进制
for (i =0; i < n; ++i)
{
j =0;
while (strHex[i][j])
{
switch(strHex[i][j])
{
case'0': strBin[i] +="0000";break;
case'1': strBin[i] +="0001";break;
case'2': strBin[i] +="0010";break;
case'3': strBin[i] +="0011";break;
case'4': strBin[i] +="0100";break;
case'5': strBin[i] +="0101";break;
case'6': strBin[i] +="0110";break;
case'7': strBin[i] +="0111";break;
case'8': strBin[i] +="1000";break;
case'9': strBin[i] +="1001";break;
case'A': strBin[i] +="1010";break;
case'B': strBin[i] +="1011";break;
case'C': strBin[i] +="1100";break;
case'D': strBin[i] +="1101";break;
case'E': strBin[i] +="1110";break;
case'F': strBin[i] +="1111";break;
default:break;
}
++j;
}
}
//二进制转化为八进制
for (i =0; i < n; ++i)
{
j = strBin[i].size()-1;//获得长度
while (strBin[i][j] && j>=0)
{
temp =3;
nNum =0;
while (temp-- && j>=0)
{
if ('1' == strBin[i][j])
{
switch(temp)
{
case0: nNum +=4;break;
case1: nNum +=2;break;
case2: nNum +=1;break;
default:break;
}
}
--j;
}
strOct[i] += (nNum+'0'); //最后都加'0'字符
}
}
//eg:0100 0101 ——> 应该输出为01 000 101.但是上式用101 000 01.
//字符串逆序
for (i =0; i < n; ++i)
{
temp = strOct[i].size()-1;
for (j =0; j <= temp/2; ++j)
{
ch = strOct[i][j];
strOct[i][j] = strOct[i][temp-j];
strOct[i][temp-j] = ch;
}
}
//打印
for (i =0; i < n; ++i)
{
j =0;
while (strOct[i][j++] =='0');//跳过前面的0
for(--j; j < strOct[i].size(); ++j)
{
cout<<strOct[i][j]-'0';
}
/*if (i != n-1)*/
cout<<endl;
}
return0;
}
- 蓝桥杯练习试题——十六进制转换成八进制
- 蓝桥杯练习试题——十六进制转换成八进制
- 2016蓝桥杯基础练习——十六进制转换八进制
- 蓝桥杯练习试题——十六进制转换成十进制
- 蓝桥杯练习系统基础练习——十六进制转八进制
- 蓝桥杯基础练习——十六进制转八进制
- 蓝桥杯基础练习——十六进制转八进制
- 十六进制转换成八进制
- 十六进制转换成八进制
- 十六进制转换成八进制
- 十六进制转换成八进制
- 蓝桥杯试题集 基础练习 十六进制转八进制
- 黑马程序员—操作数组的练习:十进制数转换二进制、八进制、十六进制数。
- 八进制转换成十六进制,十六进制转换成八进制
- 蓝桥杯 十六进制转换为八进制
- 蓝桥杯-基础练习之十六进制转八进制——BASIC-12
- 蓝桥杯OJ刷题日记——12-基础练习 十六进制转八进制
- 蓝桥杯:基础练习 十六进制转八进制
- 插入排序
- C++中vector用法
- Linux PCI中断:冲突和传递,两张相同PCI卡的冲突
- Spring学习经验总结
- 选择我自己的算法
- 蓝桥杯练习试题——十六进制转换成八进制
- cadf
- 【C++模版之旅】神奇的Traits
- C++封装Linux消息队列
- 关于书上说的“编译的时候分配内存”
- uva 11468 Substring (ac自动机+记忆化搜索)
- java线程
- 在window平台下进入cmd窗口输入mysql相关命令后出现mysql不是内部或外部命令
- 一些有价值的网站