栈的操作实现

利用栈的特性实现十进制整数到其他进制整数的转换 

#include <iostream>

#include <stack>



using namespace std;



// 函数将十进制整数转换为其他进制的字符串表示

string decimalToBase(int decimalNumber, int base) {

stack<char> resultStack;



while (decimalNumber > 0) {

int remainder = decimalNumber % base;

char digit;




if (remainder < 10) {

digit = '0' + remainder;

} else {

digit = 'A' + (remainder - 10);

}



resultStack.push(digit);

decimalNumber /= base;

}




string result = "";

while (!resultStack.empty()) {

result += resultStack.top();

resultStack.pop();

}



return result;

}



int main() {

int decimalNumber;

int base;



cout << "输入一个十进制整数: ";

cin >> decimalNumber;



cout << "输入目标进制(例如2、8、16): ";

cin >> base;



if (base != 2 && base != 8 && base != 16) {

cout << "目标进制不受支持。" << endl;

return 1;

}



string result = decimalToBase(decimalNumber, base);

cout << "转换结果: " << result << endl;



return 0;

}

运行结果

a80c820c22c844d789dfda0e49d65508.jpg

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值