//编一个程序,输入一个十进制数,输出与之等价的八进制数
//不需要考虑小数,但是不可以直接用%o,考试的目的就在于让你写出十进制转八进制的思想
//pow函数是浮点型,可能会出现数据丢失,所以要转换成int型并且加上0.5
#include<stdio.h>
#include<math.h>
int main(){
int n,i,j,sum,a[100];
while(1){
printf("请输入一个十进制数:\n");
scanf("%d",&n);
//一直用商除以8,直到商为0,将每次得到的余数存到数组里
for(i=0;n!=0;i++){
a[i]=n%8;
n=n/8;
}
sum=0;
//逆着将数组转化成数字,如数组622,转化成树226就为最终的八进制数
for(j=0;j<i;j++){
sum=sum+a[j]*(int )(pow(10,j)+0.5);
}
printf("对应的八进制数为:%d\n",sum);
}
return 0;
}