C语言程序怎么把十进制的数转换成八进制的数?

如题所述

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

#include <stdio.h>
#include <math.h>
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);
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-27
#include <stdio.h>
#include <math.h>
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);
}

C语言程序怎么把十进制的数转换成八进制的数?
C语言程序十进制的数转换成八进制的数的办法:include <stdio.h>#include <math.h>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);} ...

C语言 十进制数转换八进制 算法
方法一:直接使用控制字符串 %o 八进制%x 方法二:求余来算,比如求十进制数 x(x>100) 的8进制,先通过 x%8 可以得到个位(末位)上的数,当十进制数等于8时,必然会进位,求余的结果正好是不能进位的部分,x=x\/8(这就像位移,x的8进制数向右移了一位),这样已经求出来的 个位 位移...

C语言十进制怎么转换八进制,求详细描述,不要编译器运行的结果?_百度...
十进制转任意进制一般都是用除基取余法,比如说102转8进制,102除以8,商12,余6 12除以8,商1,余4 1除以8,商0,余1 商为0的时候即转换完成,将余数逆序连接起来就是结果,即10进制的102转8进制为146 将上述过程转为代码就是 include <stdio.h> int main(){ int number = 102, i=0,...

用c语言的函数调用如何将一个十进制数转换为八进制数?
10进制转换8进制输出,使用printf函数的格式输出%o即可。如果需要得到转换后的字符串,使用sprintf函数即可。例程:include <stdio.h>int main (){ int x; char s[100]; printf("输入要转换的十进制数:\\n"); scanf("%d",&x); sprintf(s,"%o",x); \/\/十进制转换为八进制,并保存到...

c语言“把十进制数转换成八进制数”怎么写
; \/\/输入的进制和想要转换的进制 for(i=strlen(a)-1;i>=0;i--)\/\/先转10进制 {if(n!=16) s+=(a[i]-48)*t;else s+=(a[i]-55)*t;t*=n;}for(i=0;s;i++)\/\/10进制转你想要的进制 {if(s%m>=10)b[i]=s%m+55;else b[i]=s%m+48;s\/=m; } b[i]='\\0';...

C语言10进制转8进制,程序怎么写
%d",&a); dtoh(a,h); printf("HEX:%s\\n",h); a=dtoe(a); printf("OCT:%d\\n",a); system("pause"); return 0; } long dtoe(int a) \/\/ 八进制 { if (a<8) { return a; } else return (dtoe(a\/8)*10+a%8); } 好好学习 不怕考试 !

用C语言把十进制转换为8进制,最好用栈结构
void dec2oct(int x) \/\/将十进制数x转化为8进制数输出 {if(x>7)dec2oct(x\/8); \/\/如果 x 不止一位8进制数,则先处理其高位部分 printf("%d",x%8); \/\/递归返回时再输出 x 的最低位 } int main(){int x;scanf("%d",&x); \/\/读入要转换的十进制数x dec2oct(...

c语言十进制怎么换成八进制例如010
把10进制的数除以8,然后不断把它的商除以8,最后把他们的余数倒序排列就行了.比如10进制数20.20\/8=2---4 2\/8=0---2 余数倒序排列,所以20的八进制就是24

C 编程 ???把十进制数转换成八进制数
\/ Description: 十进制数转化成相应的二、八、十六或其它进制 \/ include<stdio.h> void convert(int num,int base);\/\/打印转换后的数字的函数原型 main(){ int num,base;\/\/num代表要转换的数,base代表要转换的进制 printf("Please input a decimal number:\\n");scanf("%d",&num);printf("...

C语言里,10用八进制数怎么表示
10进制数10转换为8进制的转换过程如下:10\/8 = 1 ...(余2)1\/8 = 0 ...(余1) (1\/8中的1是上次运算的商)所以10的8进制数为12 在C语言中,用012来表示8进制12,也即在8进制数的前面加一个数字0。如:int a=012;printf("%d", a); \/\/ 输出10 ...

相似回答