十进制转换八进制

题目

#题目描述
输入一个整数,将其转换成八进制数输出。 
#输入描述:
输入包括一个整数N(0<=N<=100000)。
#输出描述:
可能有多组测试数据,对于每组数据,
输出N的八进制表示数。

输入例子:
7
8
9
输出例子:
7
10
11

代码

#include <iostream>
using namespace std;

int main()
{
    int a;
    while (cin>>a){
        int s[10];
        for(int i=0;i<10;i++){
            s[i]=-1;
        }
        int i=0;
        while(a>=8){
            s[i]=a%8;//取余数
            i++;
            a=a/8; //取商
        }
        s[i]=a;
        for(int i=9;i>=0;i--){
            if(s[i]!=-1)
                cout<<s[i];
        }
        cout<<endl;
    }
}

心得

  • 由于第一次在线写代码测试,一开始不懂得输入输出,后来看了别人的代码发现其实输入就是n个整数,所以需要用while(cin>>a){}来接收输入,输出就是检测字符串,只要输出字符串相同即可。
  • 10进制转8进制思路就是将整数一直除以8取余数,然后倒着输出。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容