数据结构实验之栈与队列一:进制转换
来源:互联网 发布:uber软件下载 编辑:程序博客网 时间:2024/05/29 18:09
Problem Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。
Input
第一行输入需要转换的十进制非负整数;
第二行输入 R。
Output
输出转换所得的 R 进制数。
Example Input
12798
Example Output
2377
#include <stdio.h>
#include <stdlib.h>
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int SElemType;
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
} SqStack;
int InitStack(SqStack &S)
{
S.base = (SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
if( !S.base) return -1;
S.top = S.base;
S.stacksize = STACK_INIT_SIZE;
return 0;
}
int Push(SqStack &S, SElemType e)
{
if(S.top - S.base >= S.stacksize)
{
S.base = (SElemType *)realloc(S.base, (S.stacksize + STACKINCREMENT) *sizeof(SElemType));
if(!S.base) return -1;
S.top = S.base + S.stacksize;
S.stacksize += STACKINCREMENT;
}
*S.top = e;
S.top++;
return 0;
}
int Pop(SqStack &S)
{
SElemType e;
while(1)
{
if(S.top == S.base)
break;
else
{
e = *--S.top;
printf("%d", e);
}
}
return 0;
}
void conversion(SqStack &S, int n, int m)
{
if(n == 0)
{
Push(S, 0);
}
else
{
while(n)
{
Push(S, n % m);
n = n / m;
}
}
}
int main()
{
SqStack S;
double n, m;
scanf("%lf", &n);
scanf("%lf", &m);
InitStack(S);
conversion(S, n, m);
Pop(S);
return 0;
}
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列一:进制转换
- 数据结构实验之栈与队列进制转换1
- 【栈与队列】SDUT练习2—数据结构实验之栈一:进制转换
- SDUT 2131 数据结构实验之栈与队列一:进制转换
- 2131 数据结构实验之栈与队列一:进制转换
- 2131-数据结构实验之栈与队列一:进制转换
- git commit -am 之后,撤销并保留修改
- 数据结构期末课堂总结
- poi读取Excel时日期为数字 的解决方法
- 正则笔记
- Idea工具的破解
- 数据结构实验之栈与队列一:进制转换
- CocoaPods获取与使用
- 渗透测试之本地文件包含漏洞
- springcloud(三):服务提供与调用
- 数据结构课程—期末学期总结
- isWhiteSpace()
- 利用Eclipse JDT抽取Java AST
- Spring Ioc(控制反转/依赖注入)
- 微信公众号的制作---测试号