本文共 543 字,大约阅读时间需要 1 分钟。
问题描述
给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。样例输入 2 39 123ABC样例输出 71 4435274 【提示】 先将十六进制数转换成某进制数,再由某进制数转换成八进制。先将十六进制数每一位转化成四位二进制数,,再三位合并程八进制数。
#include#include using namespace std;int main(){ int n; cin>>n; for(int k=1;k<=n;k++) { string s1,s2;//s1为输入的原始的十六进制串,s2为转化成的二进制串 cin>>s1; s2="";//初始化 for(int i=0;i
转载地址:http://qtyzi.baihongyu.com/