#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main(void)
{
int n[50], t = 0, sum = 0;
int num, num1;
puts("请输入一个二进制数");
scanf("%d", &num);
num1 = num;
while (num > 0) {
n[t] = num % 10;
num /= 10;
t++;
}
for (int i = 0; i < t; i++) {//最后t没用
sum += n[i] * pow(2, i);
}//以10进制为媒介 2->10->8
int num2 = sum,k=-1, n1[50];//两套组合
do {
k++;
n1[k] = sum % 8;
sum /= 8;
} while (sum > 0);//商大于0
printf("%d的八进制为:\n", num1);
for (int i = k; i >= 0; i--) {//--
printf("%d", n1[i]);
}
登录后提交答案