南邮编程在线编程题十二:八进制转换为二进制

来源:互联网 发布:node 虚拟主机 编辑:程序博客网 时间:2024/05/16 18:31
用函数实现将一个八进制数转换为一个二进制数。

说明:(1)从键盘输入八进制数,输入格式控制使用%o ;

(2)输出有效数字位对应的二进制编码,如:045->100101;

测试用例:输入

测试用例:输出

045< 回车 >

100101

145< 回车 >

1100101

1017< 回车 >

1000001111


代码如下:

#include <stdio.h>#include <math.h>int main(){int m, i, s = 0, t = 0;scanf("%o", &m);for (i = 0; m != 0; ++i) {t += (m%8)*pow(8, i);m = m/8;}for (i = 0; t != 0; ++i) {s += (t%2)*pow(10, i);t = t/2;}printf("%d", s);return 0;}


0 0