R7-8 数据结构考题 十进制转换为八进制

Author Avatar
小包
发表:2024-11-03 04:27:04
修改:2024-12-12 15:30:42

利用栈(以顺序栈作存储结构)实现进制转换。给定一个十进制非负整数,编程将该数以八进制形式输出。

顺序栈的类型定义:

#define MAXSIZE 100   // MAXSIZE为最大数据元素数目
typedef int ElemType;
typedef struct
{   ElemType  *base;
    ElemType  *top;
}SqStack;

输入格式:

输入一个十进制非负整数。

输出格式:

输出转换后的八进制数。

输入样例:

100

输出样例:

在这里给出相应的输出。例如:

144
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main() {
    int decimal;
    cin >> decimal;

    if (decimal == 0) {
        cout << "0" << endl;
        return 0;
    }

    string octal = "";
    while (decimal > 0) {
        octal += to_string(decimal % 8);
        decimal /= 8;
    }

    reverse(octal.begin(), octal.end());
    cout << octal << endl;

    return 0;
}

评论