c语言编程十进制转八进制算法,C语言十进制如何转八进制?

76ed2d47528823d4b3beafa165611a26.png

现在我一共给你三个答案:

1递归的,

2你原先改成的,

3一般的

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

/*如你所愿写个递归的*/

#include

r8(int a)

{

int i,j;

if(a==0)

return (0);

else

{

j=a%8;

i=a/8;

r8(i);

printf("%d",j);

}

}

int main()

{

int n;

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;

i=i/8;

o=j*pow(10,n)+o;

n++;

} /*加括号*/

}

o=o+i*pow(10,n);

printf("o=%d\n",o);

}

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

另外,转八进制可以这样写

#include "stdio.h"

int main()

{

int d;

printf("请输入十进制数:");

scanf("%d",&d);

printf("该数的八进制表示为:%o\n",d);

return 0;

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值