十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
問題描述
給定n個十六進制正整數(shù),輸出它們對應(yīng)的八進制數(shù)。
輸入格式
輸入的第一行為一個正整數(shù)n (1<=n<=10)。
接下來n行,每行一個由0~9、大寫字母A~F組成的字符串,表示要轉(zhuǎn)換的十六進制正整數(shù),每個十六進制數(shù)長度不超過100000。
輸出格式
輸出n行,每行為輸入對應(yīng)的八進制正整數(shù)。
【注意】
輸入的十六進制數(shù)不會有前導(dǎo)0,比如012A。
輸出的八進制數(shù)也不能有前導(dǎo)0。
樣例輸入
2
39
123ABC
樣例輸出
71
4435274
【提示】
先將十六進制數(shù)轉(zhuǎn)換成某進制數(shù),再由某進制數(shù)轉(zhuǎn)換成八進制。
#include
using namespace std;
int main()
{
int n=0; //記錄輸入數(shù)據(jù)的個數(shù)
cin>>n;
string sixTeen[10]; //用來記錄輸入的數(shù)據(jù)
for(int i=0;i
cin>>sixTeen[i];
}
for(int i=0;i
string eight;//記錄八進制數(shù)據(jù)
string tow; //記錄二進制數(shù)據(jù)
char eig;
//轉(zhuǎn)換為二進制
for(int j=0;j
switch(sixTeen[i][j])
{
case '0':tow+="0000";break;
case '1':tow+="0001";break;
case '2':tow+="0010";break;
case '3':tow+="0011";break;
case '4':tow+="0100";break;
case '5':tow+="0101";break;
case '6':tow+="0110";break;
case '7':tow+="0111";break;
case '8':tow+="1000";break;
case '9':tow+="1001";break;
case 'A':tow+="1010";break;
case 'B':tow+="1011";break;
case 'C':tow+="1100";break;
case 'D':tow+="1101";break;
case 'E':tow+="1110";break;
case 'F':tow+="1111";break;
default:break;
}
}
//轉(zhuǎn)換為八進制
//首先補齊“0”
int m=tow.length()%3;
if(m==1)
tow.insert(0,"00");
else if(m==2)
tow.insert(0,"0");
//進行轉(zhuǎn)換
if(!(tow[0]=='0'&&tow[1]=='0'&&tow[2]=='0'))
{
eig=(tow[0]-'0')4+(tow[1]-'0')2+(tow[2]);
eight=eight+eig;
}
for(int k=3;k
//eig=(tow[k3]-'0')4+(tow[k3+1]-'0')2+(tow[k*3+2]);
//eight=eight+eig;
if(tow.substr(k,3)=="000")
eight+="0";
else if(tow.substr(k,3)=="001")
eight+="1";
else if(tow.substr(k,3)=="010")
eight+="2";
else if(tow.substr(k,3)=="011")
eight+="3";
else if(tow.substr(k,3)=="100")
eight+="4";
else if(tow.substr(k,3)=="101")
eight+="5";
else if(tow.substr(k,3)=="110")
eight+="6";
else if(tow.substr(k,3)=="111")
eight+="7";
}
//輸出最終的八進制數(shù)
cout<
return 0;
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。