博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十六转八进制
阅读量:6829 次
发布时间:2019-06-26

本文共 1085 字,大约阅读时间需要 3 分钟。

这个题弄了我半天,最后终于算是出答案了,可是在提交的时候却超时了,然后我放弃了,查了大佬的题解报告,粘在这里,方便以后复习

1 #include
2 #include
3 4 char h[100002], b[400002], e[400002]; 5 int main() { 6 int n; 7 scanf("%d", &n); 8 while (n--) { 9 scanf("%s", h);10 int i, len = 0;11 /*先把16进制化成二进制——从后往前展开 */12 for (i = strlen(h) - 1; i >= 0; i--) {13 int v;14 if (h[i] >= '0' && h[i] <= '9')15 v = h[i] - '0';16 else v = h[i] - 'A' + 10;17 for (int j = 0; j<4; j++) {18 b[len++] = v % 2 + '0';19 v /= 2;20 }21 }22 int x = 0, cnt = 1;23 int l = 0;24 for (i = 0; i
= 0 && e[i] == '0')39 /*去掉前导0*/40 i--;41 if (i<0)42 printf("0");43 for (; i >= 0; i--) {44 printf("%c", e[i]);45 }46 printf("\n");47 }48 return 0;49 }

个人觉得很不错的部分有很多,比如处理字符转为2进制,再在循环的基础上用判断的语句巧妙转为8进制

 

转载于:https://www.cnblogs.com/kangdong/p/8654088.html

你可能感兴趣的文章
BZOJ 3339: Rmq Problem 莫队算法
查看>>
iOS使用NSMutableAttributedString 实现富文本(不同颜色字体、下划线等)
查看>>
Ubuntu中给eclipse和android studio添加桌面快捷图标
查看>>
find-all-duplicates-in-an-array(典型的数组中的重复数,不错,我做出来了,可是发现别人有更好的做法)...
查看>>
ssh IP打通,hadoop启动失败
查看>>
Ubuntu/Centos 系统上安装与配置Nginx
查看>>
spring集成 JedisCluster 连接 redis3.0 集群
查看>>
DOM基础2
查看>>
什刹海记忆
查看>>
硬盘分区时GPT和MBR的区别/选择
查看>>
Nginx 配置简述
查看>>
css后代选择器(div.class中间不带空格)
查看>>
在CentOS下利用Python+selenium获取腾讯首页的今日话题。
查看>>
Chapter 2 Open Book——38
查看>>
C++11特性(模板类 initializer_list)
查看>>
将数字转换千分位分隔形式
查看>>
父类和子类的构造方法的调用顺序
查看>>
2017第一周日
查看>>
git submodule的使用
查看>>
Python爬虫学习——获取网页
查看>>