数据结构实验之栈一:进制转换
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入一个十进制整数,将其转换成对应的R(2<=R<=9)进制数,并输出。
输入
第一行输入需要转换的十进制数;
第二行输入R。
第二行输入R。
输出
输出转换所得的R进制数。
示例输入
1279 8
示例输出
2377
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <stack>
#define stacksize 1000001
using namespace std;
int main()
{
int n,r;
stack<int>s;
while(~scanf("%d",&n))
{
scanf("%d",&r);
if(n == 0)
{
cout<<"0"<<endl;
}
bool flag = false;
if(n<0)
{
flag = true;
n = -n;
}
while(n)
{
int t = n%r;
s.push(t);
n = n/r;
}
if(flag)
{
cout<<"-";
}
while(!s.empty())
{
printf("%d",s.top());
s.pop();
}
printf("\n");
}
return 0;
}