将一个十进制整数转化为八进制整数。 例:输入10,输出12
算法思想:辗转相除法,除8模8,并且将余数作为输出位,(但是注意第一次拿到的是最低位,要逆序输出),在此过程若除数大于8,再将除数赋值给被除数,以此类推,直到
除数为0为止。
#include <stdio.h>
int main()
{
int n=0,m=1,k=0,i=0;
int a[32]={0};
scanf("%d",&n);
while((m!=0) && (i<32))
{
m=n/8;
k=n%8;
a[i]=k;
n=m; //把除数赋值给被除数
i++;
}
for(i=31;i>=0;i--)
{
if(a[i]!=0)
printf("%d",a[i]);
}
return 0;
}