C语言十进制转八进制

用C语言编写函数,实现由十进制转化为八进制,请问该怎么编?

第1个回答  2008-03-07
我编写的是整数的转换
程序如下

#include<stdio.h>
void main()
{
int x,i,a[8];
printf("输入需要转换的十进制整数:");
scanf("%d",&x);
i=0;
while(x%8&&i<8)
{
a[i]=x%8;
x=x/8;
i++;
}
i=i-1;
printf("\n对应的八进制整数是:");
for(;i>=0;i--)
printf("%d",a[i]);
printf("\n");
}
第2个回答  2008-03-07
先转化到2进制,再到8进制本回答被提问者采纳
第3个回答  2008-03-07
int i=102;
printf("%o",i);

***************************************

long int dtoo(int a)
{
if (a>0)
return (dtoo(a/8)*10+a%8);
else return 0;
}

输入一个十进制数字,返回对应的八进制数字,

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语言十进制怎么转换八进制,求详细描述,不要编译器运行的结果?_百度...
十进制转任意进制一般都是用除基取余法,比如说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语言把十进制转换为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(x)...

c语言“把十进制数转换成八进制数”怎么写
include<stdio.h>#include<string.h>main(){int i,m,n,s=0,t=1;char a[100],b[100]; gets(a);\/\/用回车分割 scanf("%d%d",&n,&m); \/\/输入的进制和想要转换的进制 for(i=strlen(a)-1;i>=0;i--)\/\/先转10进制 {if(n!=16) s+=(a[i]-48)*t;else s+=(a[i]-55)*...

用C语言进行十进制和八进制的转换怎么做
如果输入是十进制字符串,输出是八进制字符串,则用如下dec2oct函数可实现转换 include<stdio.h>int dec2oct(char *dec,char *oct){ int num=0,i=0,t; char c; do{ c=*dec; if(!c) return 0; \/\/ 出错了,没找到10进制数 if(c>='0' && c<='9') break; ...

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

如何用c语言实现十进制数与八进制数的互换?
八进制转十进制\\n");ch=getchar();switch(ch){ case '1':printf("请输入一个十进制数:");scanf("%d",&x);printf("%d的八进制为%o\\n",x,x);break;case '2':printf("请输入一个八进制数:");scanf("%o",&x);printf("%o的八进制为%d\\n",x,x);break;default:break;} } ...

C语言十进制转八进制
printf("请输入十进制数:");scanf("%d",&n);printf("转换成八进制数是:");r8(n);printf("\\n");} 原先代码修改的:include "stdio.h"include "math.h"main(){ int i,n=0,o=0,j=0;scanf("%d",&i); \/*改成*\/ if(i<=7)o=i;else { while(i>7){ \/*加括号*\/ j=i%8...

C语言十进制转八进制
程序如下 include<stdio.h> void main(){ int x,i,a[8];printf("输入需要转换的十进制整数:");scanf("%d",&x);i=0;while(x%8&&i<8){ a[i]=x%8;x=x\/8;i++;} i=i-1;printf("\\n对应的八进制整数是:");for(;i>=0;i--)printf("%d",a[i]);printf("\\n");} ...

相似回答