蓝桥杯 十进制转换成八进制或二进制 C++

蓝桥杯 十进制转换成八进制或二进制 C++_第1张图片

思路:
1)用给出的十进制数去除以8,得到的模数相加。
Decimal
Octal
Remainder 余数
2)首先这一题属于基础题吧,打算开启我的话唠模式了,今天是2018-1-15,在这里做个计划,将每天写的蓝桥杯题目都提交到CSDN上,一起分析。
3)十进制转换成八进制,就是用十进制的数除以8取模,将所有的模逆向的输出(这里说的笼统,不懂的可以百度一下哈)。
4)这里用的方法用两种:其一为本题用到的将所有的余数作为一个整体输出;其二就是将余数放到栈stack中逆着输出(最后给出的是十进制转换成二进制的部分代码)。

#i


----------


nclude
#include
#include
#include
#include
int Turn(int dec){
    int oct=0;//10进制
    int temp=dec;
    int re;//余数remainder
    int n=1;
    int sum=0;
    while(temp){
        re=temp%8;
        sum+=re*n;
        n*=10;
        temp/=8;
}
    oct=sum;
    return oct;
}
using namespace std;
int main(){
    int dec;
        cin>>dec;
    cout<return 0;
}

用栈输出:

stack<int> s;
    int remainder;//余数
    while (n!= 0) {
        remainder = n % 2;
        s.push(remainder);
        n /= 2;
    }

你可能感兴趣的:(蓝桥杯,蓝桥杯)