设计一个函数toOcr(int n),实现把输入的一个十进制数转换为八进制数
1、运用数组
#include<iostream>
using namespace std;
int toOcr(int n); //调用函数
int main()
{
int num;
cin>>num;
toOcr(num);
return 0;
}
int toOcr(int n)
{
int a[50],count=0; //count记录八进制数的位数,存储在数组a中
for(int i=0;n>0;i++) //进制转换
{
a[i]=n%8;
count++;
n=n/8;
}
for(int j=count-1;j>=0;j--) //输出转换结果
{
cout<<a[j];
}
}
2、不用数组
#include<iostream>
using namespace std;
int main()
{
int num,b=1;
cin>>num;
if(num==0)
cout<<num;
while(1)
{
if(num>=b)
{
b*=8;
continue; //跳出此层的while循环
}
b/=8;
if(b==0)
break; //跳出while循环
cout<<num/b;
if(num>=b)
num%=b;
}
}
/*break和continue一般用于循环中,区别在于:break表示结束整个循环(break所在的最近的那个循环)
continue表示结束本次循环(continue所在的最近的那个循环)*/