现在我一共给你三个答案:
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;
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试