SDUT 1252 进制转换
来源:互联网 发布:天网软件股份有限公司 编辑:程序博客网 时间:2024/05/30 04:09
进制转换
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入一个十进制数N,将它转换成R进制数输出。
输入
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R != 10)。
输出
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
示例输入
7 223 12-4 3
示例输出
1111B-11
提示
#include<iostream>
#include<cstdlib>
#include<stdio.h>
using namespace std;
typedef struct
{
int *base;
int *top;
} stack;
void intistack(stack &s)
{
s.base=new int [1100];
if(!s.base)
exit(0);
s.top=s.base;
}
void push(stack &s,int e)
{
*s.top++=e;
}
int empty(stack &s)
{
if(s.top==s.base)
{
return 0;
}
else
return 1;
}
int pop(stack &s)
{
if(s.top==s.base)
return 0;
int a=*--s.top;
return a;
}
void del(stack &s,int n,int m)
{
int e,flag=1;
if(n<0)
{
n=-n;
flag=0;
}
while(n)
{
push(s,n%m);
n=n/m;
}
while(empty(s))
{
e=pop(s);
if(!flag)
{
flag=1;
cout<<"-";
}
if(e>9)
{
printf("%c",e-10+'A');
}
else
cout<<e;
}
}
int main()
{
stack s;
int n,m;
intistack(s);
while(cin>>n>>m)
{
if(n==0)
cout<<0;
else
del(s,n,m);
cout<<endl;
}
return 0;
}
#include<cstdlib>
#include<stdio.h>
using namespace std;
typedef struct
{
int *base;
int *top;
} stack;
void intistack(stack &s)
{
s.base=new int [1100];
if(!s.base)
exit(0);
s.top=s.base;
}
void push(stack &s,int e)
{
*s.top++=e;
}
int empty(stack &s)
{
if(s.top==s.base)
{
return 0;
}
else
return 1;
}
int pop(stack &s)
{
if(s.top==s.base)
return 0;
int a=*--s.top;
return a;
}
void del(stack &s,int n,int m)
{
int e,flag=1;
if(n<0)
{
n=-n;
flag=0;
}
while(n)
{
push(s,n%m);
n=n/m;
}
while(empty(s))
{
e=pop(s);
if(!flag)
{
flag=1;
cout<<"-";
}
if(e>9)
{
printf("%c",e-10+'A');
}
else
cout<<e;
}
}
int main()
{
stack s;
int n,m;
intistack(s);
while(cin>>n>>m)
{
if(n==0)
cout<<0;
else
del(s,n,m);
cout<<endl;
}
return 0;
}
必须要先判断0,否则无限W A;
0 0
- SDUT 1252 - 进制转换
- sdut 1252 进制转换
- 进制转换 SDUT 1252
- SDUT 1252 进制转换
- SDUT 1252 进制转换
- SDUT 1252 进制转换
- SDUT 1252 进制转换
- SDUT--进制转换
- SDUT 1252----进制转换(栈)
- SDUT—1252(进制转换)
- sdut oj1252 进制转换(栈)
- SDUT 2131 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换 SDUT 2131
- sdut oj2131 数据结构实验之栈一:进制转换
- SDUT 2131 数据结构实验之栈一:进制转换
- SDUT-数据结构实验之栈一:进制转换
- 【栈与队列】SDUT练习2—数据结构实验之栈一:进制转换
- 数据结构之栈实验进制转换 (sdut oj 2131)
- volatile和static
- Android OkHttp完全解析 是时候来了解OkHttp了
- 了解与查看Linux真实的使用内存
- android 仿360悬浮框的创建(不需要悬浮框权限)
- OC和Swift的AFN网络封装
- SDUT 1252 进制转换
- php常用的数组函数
- ios 7隐藏导航栏页面滑动返回提前出现导航栏问题解决办法
- oracle发送http请求。
- [Cloud Computing]Patterns: Intra-Storage Device Vertical Data Tiering
- linux下创建新用户和切换用户
- html5--超链接
- EventBus使用详解(一)——初步使用EventBus
- 面向对象的六大原则