c++十进制转八进制(栈的用法)
#include<iostream> #include<stack> using namespace std; int main() { int n; stack<int>stac; cout << "请输入一个数字:" << endl; cin >> n; while (n!=0) { //每次求余后把余数放进栈里 stac.push(n % 8); n = n / 8;//得到新的n值 } cout << "十进制数转八进制后为:" << endl; while (!stac.empty()) { //取栈顶元素 cout << stac.top();//不需要加endl,为了让数连贯起来 stac.pop();//删除栈顶元素 } cout << endl; system("pause"); return 0; }
分析:栈的一大特点就是先进后出,刚好符合转进制的特点。