1、#include
using namespace std;
class mystack
{
private:
int* data;
int top;
public:
//初始化栈
mystack()
{
data = new int[100];
top = -1;
}
//压栈
void push(int value)
{
top++;
data[top] = value;
}
//出栈
int pop()
{
int temp = data[top];
top--;
return temp;
}
//求当前栈长度
int Getlength()
{
return top + 1;
}
~mystack()
{
delete[] data;
}
};
void main()
{
int num, n;
mystack stack;
cout << "请输入要转化的十进制数:";
cin >> num;
cout << "请输入要转化为n进制数:";
cin >> n;
while (num)
{
stack.push(num%n);
num = num / n;
}
while (stack.Getlength()>0)
{
cout << stack.pop();
}
cout << endl;
}
2、
#include
using namespace std;
class A
{
private:
int* a;
int top;
public:
A()
{
a = new int[100];
top = -1;
}
void push(int value)
{
top++;
a[top] = value;
}
int pop()
{
int num;
top--;
num = a[top];
return num;
}
int length()
{
return top+1;
}
~A()
{
delete[] a;
}
};
void main()
{
int number,n,value;
A x;
cout << "请输入要转化的十进制数:";
cin >> number;
cout << "请输入要转化为n进制数:";
cin >> n;
while(number)
{
value=number%n;
x.push(value);
number=number/n;
}
while(x.length()>0)
{
cout<<x.pop();
}
cout<<endl;
}