数据结构实验之栈与队列一:进制转换
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;
}