数据结构实验之栈一:进制转换

来源:互联网 发布:java获取sql执行成功 编辑:程序博客网 时间:2024/04/19 18:15

题目描述
输入一个十进制整数,将其转换成对应的R(2<=R<=9)进制数,并输出。
输入
第一行输入需要转换的十进制数;
第二行输入R。
输出
输出转换所得的R进制数。
示例输入
1279
8
题解:这道题我用两种方式来实现的,一个是数组,另一个是栈的模板。
求相应的进制数首先到用循环来做,什么时候循环结束这是你要知道的。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,key,R,i;
int test[10000];
cin>>n>>R;
key=0;
while(n/R)
{
test[key++]=n%R;
n=n/R;
}
test[key]=n;
for(i=key;i>=0;i--)
cout<<test[i];
return 0;
}

//栈的模板
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,R,i;
stack<int> test;
cin>>n>>R;
while(n/R)
{
test.push(n%R);
n=n/R;
}
test.push(n);
while(!test.empty())
{
cout<<test.top();
test.pop();
}
return 0;
}

0 0
原创粉丝点击