給定n個十六進製制正整數,輸出它們對應的八進位制數。
輸入的第一行為乙個正整數n (1<=n<=10)。
接下來n行,每行乙個由0-9、大寫字母a~f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。
輸出n行,每行為輸入對應的八進位制正整數。
輸入:2
39123abc
輸出:71
4435274
先將十六進製制轉換為十進位制,再將十進位制轉換為八進位制。
十六進製制中abcdef轉化為十進位制的方法為:『字母』-『a』+10
字串中數字轉化為十進位制的方法:『數字』-『0』
#include#include#includeusing namespace std;
int main()
//將十六進製制轉化為十進位制
if(sum!=0) //這裡需要判斷一下輸入的數字是不是0,如果是0的話while會死迴圈,所以需要加乙個if
for(int i=d.size()-1;i>=0;i--)
cout
cout<} return 0;
}
十六進製制轉八進位制
時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由0 9 大寫字母a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出格式 輸...
十六進製制轉八進位制
問題描述 給定n 個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來 n行,每行乙個由 0 9 大寫字母 a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過 100000 輸出格式 輸出n 行,每行為輸入對應的八進位制正整...
十六進製制轉八進位制
資料很大 因此直接考慮用字串陣列來儲存十六進製制和八進位制 先根據 四位一體 的方法將十六進製制轉化為二進位制,而後根據 三位一體 將二進位制轉化為八進位制。include includeint main else if a i 1 else if a i 2 else if a i 3 else ...