基础练习 十六进制转八进制

时间限制:1.0s   内存限制:512.0MB
   
问题描述
  给定n个十六进制正整数,输出它们对应的八进制数。

输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式
  输出n行,每行为输入对应的八进制正整数。

  【注意
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。

样例输入
  2
  39
  123ABC

样例输出
  71
  4435274

  提示
  先将十六进制数转换成某进制数,再由某进制数转换成八进制。

 
分析:
  将输入的十六进制转化为对应的二进制,
  再将二进制转化为对应的八进制就简单多了
 
PS:
  十六进制输入输出%x(字母部分用小写) 或者 %X(字母部分用大写)
  八进制输入输出 %o
  十进制输入输出 %d.
  (备注:用于这道题数据量较大不能使用简单的数据类型转化解决所有的数据)
 
C/C++代码实现(AC):
  

 #include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <stack>
#include <map>
#include <queue> using namespace std; int main()
{
int n;
scanf("%d", &n);
while(n --)
{
string str1, str2;
cin >>str1;
int len = str1.size();
for (int i=; i<len; ++i) {
if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == '') str2 += "";
else if (str1[i] == 'A') str2 += "";
else if (str1[i] == 'B') str2 += "";
else if (str1[i] == 'C') str2 += "";
else if (str1[i] == 'D') str2 += "";
else if (str1[i] == 'E') str2 += "";
else if (str1[i] == 'F') str2 += "";
} int len_ = str2.size();
if (len_ % == ) str2 = "" + str2;
if (len_ % == ) str2 = "" +str2; int len_now = str2.size(), flag = , temp;
for (int i = ; i < len_now; i += )
{
temp = int(str2[i] - '') * + int(str2[i + ] - '') *
+ int(str2[i + ] - '');
if (temp) flag = ;
if (flag) printf("%d", temp);
}
printf("\n");
}
return ;
}

最新文章

  1. ASP.NET 发布到IIS后支撑woff 的解决方案
  2. SQL Server 诊断查询-(1)
  3. Spring 常用工具类
  4. hdu 3954 Level up(线段树)
  5. delete、update忘加where条件误操作恢复过程演示
  6. django之uWSGI配置 +Nginx
  7. BZOJ 3931: [CQOI2015]网络吞吐量( 最短路 + 最大流 )
  8. C#中文本模板(.tt)
  9. Idea构建Maven项目教程
  10. systemd 编写服务管理脚本
  11. 杜教筛:Bzoj3944: sum
  12. EF| CodeFirst 代码先行
  13. 通过TensorFlow训练神经网络模型
  14. h5手机点击返回键,刷新页面
  15. webserver
  16. BZOJ2002[Hnoi2010]弹飞绵羊——LCT
  17. fiddler 抓包配置
  18. 根据python上下文管理,写一个在读文件内容前后自动打开关闭文件的程序
  19. @Schedul 中cron的命名规则
  20. Android-Selector不起作用

热门文章

  1. vc++源码免杀特殊技巧
  2. node.js当中的http模块与url模块的简单介绍
  3. [NOIp2014] luogu P2296 寻找道路
  4. std::this_thread::yield/sleep_for
  5. python里怎么查看数据类型
  6. c无聊编程
  7. 开普勒云平台:如何配置gitlab与Jenkins
  8. 别说家庭组开不了,一定成功的方法|win7家庭组无法开启|win7如何共享打印机
  9. 你好,Go语言
  10. Alpha阶段--第七周Scrum Meeting