用函数实现将一个八进制数转换为一个二进制数。
说明:(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;
}