思路分析:
我们在进行十进制转化为其他进制的时候用的就是所谓的短除法
如下图:
#include"iostream"
using namespace std;
int main()
{
int a[100];//定义一个数组来存最后的八进制数
int n,i=0;
cin>>n;
//用短除法实现进制转化
while(1)
{
if(n<8)//如果"n"小于8,则可以直接赋值后跳出循环
{
a[i]=n;
break;
}
else
{
a[i]=n/8;//这一步便是所谓的短除法
}
n%=8;//将"n"余8的值重新给"n"赋值
i+=1;
}
//循环输出数组的数字,结果便是转化后的八进制数
for(int j=0;j<=i;j++)
cout<<a[j];
return 0;
}
在下面贴一个C语言版本:
#include"stdio.h"
int main()
{
int a[101];
int i=0,n;
scanf("%d",&n);
while(1)
{
if(n<8)
{
a[i]=n;
break;
}
else
{
a[i]=n/8;
}
n%=8;
i+=1;
}
for(int j=0;j<=i;j++)
printf("%d",a[j]);
return 0;
}
希望该文章对你有所帮助,如果有不同看法或是建议的话可以在评论区提出,谢谢。