R7-8 数据结构考题 十进制转换为八进制
利用栈(以顺序栈作存储结构)实现进制转换。给定一个十进制非负整数,编程将该数以八进制形式输出。
顺序栈的类型定义:
#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;
}