数据结构实验之栈一:进制转换
原题:
题目描述
输入一个十进制整数,将其转换成对应的R(2<=R<=9)进制数,并输出。
输入
第一行输入需要转换的十进制数;
第二行输入R。
输出
输出转换所得的R进制数。
示例输入
1279
8
示例输出
2377
分析:还是直接上源码吧~~~~~~~~~~~~~~~~~~~
先来个一般的~~
#include<iostream>
using namespace std;
int a[100];
int main()
{
int n,m;
while(cin>>n>>m)
{
int i=0;
while(n!=0)
{
a[i++]=n%m;
n/=m;
}
for(int j=i-1;j>=0;j--)
cout<<a[j];
cout<<endl;
}
return 0;
}
再来个栈的用法~~~
师哥们辛苦啦~~~~~~~~~~
#include<stdio.h>
#include<stack>
#include<iostream>
using namespace std;
int main()
{
stack<int> z;
int num,jinzhi;
while(scanf("%d%d",&num,&jinzhi)!=EOF)
{
if(num==0)
printf("0\n");
else
while(num>0)
{
z.push(num%jinzhi);
num/=jinzhi;
}
while(!z.empty())
{
cout<<z.top();
z.pop();
}
printf("\n");
}
return 0;
}
给力、给力~~~~~~~