C语言程序十进制的数转换成八进制的数

应该如何做?
2024-11-15 06:30:45
推荐回答(5个)
回答(1):

C语言程序十进制的数转换成八进制的数的办法:

#include
#include
void main()
{
int n,a,sum = 0,i =0;
printf("十进制输出一个数n\n");
scanf("%d",&n);
while(n)
{
a = n%8;
n = n/8;
sum += a*pow(10,i);
i++;
}
printf("八进制输出sum:%d",sum);
}

回答(2):

#include

void dec2oct(int x)

{if(x>1)dec2oct(x/8);

 printf("%d",x%8);

}

int main()

{int x;

scanf("%d",&x);

dec2oct(x);

 return 0;

}

回答(3):

先10转2 再转8,16进制。8,16转2再转10进制。
比如:
八进制:63 ->二进制:110(6) 011(3) -> 十进制:32+16+2+1 = 51
十六进制:A5 ->二进制:1010(A) 0101(5) -> 十进制:128+32+4+1 = 165

十进制 19 ->二进制 1 0011 -> 八进制: (010 011) = 23
-> 十进制:(0001 0011) = 13

通过二进制之后 会简单多了,希望对你有帮助。

回答(4):

#include

int main()
{
int n;
printf("请输入一个十进制的数:");
scanf("%d",&n);
printf("八进制数是:");
printf("%o\n",n);
return 0;
}

回答(5):

#include
#include
void main()
{
int n,a,sum = 0,i =0;
printf("十进制输出一个数n\n");
scanf("%d",&n);
while(n)
{
a = n%8;
n = n/8;
sum += a*pow(10,i);
i++;
}
printf("八进制输出sum:%d",sum);
}