数据结构实验之栈与队列一:进制转换
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic Discuss
Problem Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。
Input
第一行输入需要转换的十进制非负整数;
第二行输入 R。
Output
输出转换所得的 R 进制数。
Sample Input
1279
8
Sample Output
2377
#include <iostream>
using namespace std;
int main()
{
int N,R;
cin>>N;cin>>R;
int A[100];
int top=0;
if(N==0)cout<<N<<endl;
else
{
while(N!=0)
{
A[top]=N%R;
top++;
N=N/R;
}
while(top!=0)
{
top--;
cout<<A[top];
}
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,R;
scanf("%d",&N);
scanf("%d",&R);
int A[1000];
int top=0;
if(N==0)
{
printf("0\n");
}
else
{
while(N)
{
top++;
A[top]=N%R;
N=N/R;
}
while(top)
{
printf("%d",A[top]);
top--;
}
}
return 0;
}
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <stack>
using namespace std;
int main()
{
int N,R;
scanf("%d",&N);
scanf("%d",&R);
stack<int>mystack;
if(N==0)
{
printf("0\n");
}
else
{
while(N)
{
mystack.push(N%R);
N=N/R;
}
while(!mystack.empty())
{
printf("%d",mystack.top());
mystack.pop();
}
}
return 0;
}