首页 > 代码库 > 数据结构实验之栈一:进制转换(栈的应用)

数据结构实验之栈一:进制转换(栈的应用)



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

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

输入一个十进制整数,将其转换成对应的R(2<=R<=9)进制数,并输出。

输入

第一行输入需要转换的十进制数;
第二行输入R。

输出

输出转换所得的R进制数。

示例输入

1279
8

示例输出

2377

提示

 

来源

 

示例程序


后台数据太水,按理说应该考虑零的情况,但是你不判断零也是对的。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <stack>
using namespace std;
int main()
{
    int n,m;
    stack<int >Q;
    while(~scanf("%d %d",&n,&m))
    {
       if(n==0)
            printf("0");
        else
        while(n>0)
        {
            int z=n%m;
            Q.push(z);//进栈
            n/=m;
        }
        while(!Q.empty())
        {
            printf("%d",Q.top());//出栈
            Q.pop();//消除
        }
        printf("\n");
    }
    return 0;
}


数据结构实验之栈一:进制转换(栈的应用)