李怀政


私信TA

用户名:lhz2937739768

访问量:14992

签 名:

撸起袖子加油干

等  级
排  名 157
经  验 7179
参赛次数 2
文章发表 120
年  龄 19
在职情况 学生
学  校 长江大学
专  业 电气工程及其自动化

  自我简介:

TA的其他文章

解题思路:

8进制满8进1,因此要不断取n/8和n%8;

n%8取出低位的数,再乘以该位的位数,如10,100,1000,(利用power()实现)

b/8是使n不断降位,(利用while实现),至0时退出

注意事项:

在while之前要做一次/和%,不然会出问题

参考代码:

#include<iostream>

#include <cmath>

using namespace std;

int main()

{

    int a,b, x=0, i=0, n;

    cin>>n;

    b=n/8;

    a=n%8;

    x+=a*pow(10,i++);

    while(b!=0)

    {

        a=b%8;

        b/=8;

        x+=a*pow(10, i++);

    }

    cout<<x<<endl;

    return 0;

}


 

0.0分

2 人评分

  评论区

  • «
  • »