注:本程序由Visual Studio 2015编写,与VC++6.0稍有区别,复制到VC++6.0注释掉“#include “stdafx.h””即可运行,复制到VS可直接运行。
#include “stdafx.h”

#include <stdio.h>

#include

using namespace std;

#define OK 1

#define ERROR 0

#define OVERFLOW -1

#define UNDERFLOW -2

#define STACK_INIT_SIZE 80

#define STACKINCREMENT 10

typedef int status;

#define ElemType char

typedef struct {

ElemType *base;ElemType *top;int stacksize;

}SqStack;

SqStack S;

status InitStack(SqStack &S) //初始化栈

{

S.base = (ElemType*)malloc(STACK_INIT_SIZE * sizeof(ElemType));if (!S.base)exit(OVERFLOW);S.top = S.base;S.stacksize = STACK_INIT_SIZE;return OK;

}

status Push(SqStack &S, ElemType e) {//入栈

if (S.top-S.base == S.stacksize) {S.base = (ElemType*)realloc(S.base, (S.stacksize + STACKINCREMENT) * sizeof(ElemType));if (!S.base)exit(OVERFLOW);S.top = S.base + S.stacksize;S.stacksize += STACKINCREMENT;}*S.top++ = e;return OK;

}

status Pop(SqStack &S, ElemType &e) {//出栈

if (S.top == S.base)exit(UNDERFLOW);e = *(S.top=S.top-1);return OK;

}

status StackEmpty(SqStack S) {//是否为空栈

return S.base == S.top;

}

char inttochar(int n) {//整型转化为字符型

switch (n) {case 0:return '0';case 1:return '1';case 2:return '2';case 3:return '3';case 4:return '4';case 5:return '5';case 6:return '6';case 7:return '7';case 8:return '8';case 9:return '9';case 10:return 'A';case 11:return 'B';case 12:return 'C';case 13:return 'D';case 14:return 'E';case 15:return 'F';}

}

void conversion(int data, int r) {//进制转换

ElemType e;InitStack(S);while (data) {Push(S, inttochar(data%r));data = data / r;}while (!StackEmpty(S)) {Pop(S, e);cout << e;}cout << endl << endl;

}

int main() {

ElemType e;int data, r;cout << "\t\t\t\t*\t\t\t\t\t*";cout << endl << "\t\t\t\t*\t计科1512-02210151232-杨少通\t*" << endl;cout << "\t\t\t\t*****************************************" << endl << endl;cout << "**************十进制转换为R进制***************" << endl << endl;cout << "   请输入十进制数:";cin >> data;cout << "   请输入要转换的进制数(如:2、8、16):";cin >> r;cout << "   " << data << "转换为" << r << "进制数为:";conversion(data, r);return 0;

}

如有转载请注明来源: www.dreamload.cn/blog/?p=243&preview=true (洋葱先生)

(C语言)十进制转换成R进制-洋葱先生-杨少通相关推荐

  1. c语言十进制转换成k进制,C语言10进制转换为k进制的问题

    满意答案 sseeeine34 2013.08.25 采纳率:44%    等级:12 已帮助:6721人 //程序的进制转换功能没有问题,你是想把输出的输出做得和和例子里的输出方式一样吧? //你的 ...

  2. 第E题 转换任意进制 (java方法直接解)==输入一个十进制数N,将它转换成R进制数输出

    输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10). Outpu ...

  3. 顺序栈实现十进制转成R进制

    2016年7月31日13:53:37利用顺序栈实现十进制整数转换转换成r进制1.算法思想将十进制数N转换为r进制的数,其转换方法利用辗转相除法,以N=3456,r=8为例转换方法如下:N N / 8 ...

  4. 使用递归将十进制转换成任意进制(Number Conversion)

    关于递归 什么是递归? 说白了,就是函数自己调用自己,然后被调用的函数继续调用自己,这将无限循环下去,除非代码中有终止调用链的的内容. 解释一下递归的所经历的过程 递归需要有边界条件.递归前进段和递归 ...

  5. 进制转换之 十进制转换成m进制

    题目链接:http://codevs.cn/problem/1474/ 题目描述: 题目描述 Description 将十进制数n转换成m进制数 m<=16 n<=100 输入描述 Inp ...

  6. 关于十进制转换成n进制问题的解法

    在进行十进制转换成n<10进制问题时,我们通常将需要转换的数字除以n,进而能够得到一个商和余数,然后将余数保留在一个新创造的数组中,通过不断的对商进行除以n,得到新的商和余数,余数再次进行保存, ...

  7. 1173 十进制转换成n进制

    题目描述 输入一个十进制正整数,把这个数转换为n进制. 输入要求 输入两个整数num和n,num表示要转换的数,n表示要转换成的进制.如10 2表示要求将十进制数10转换成二进制数.(2<=n& ...

  8. 1386: 十转换转R进制

    描述 输入一个十进制数N,将它转换成R进制数输出. 输入 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16) 输出 为每个测试实例输出转换后的数,每 ...

  9. ip 十进制 整型 java_IP地址转换成10进制整数(zt)

    一.由域名求IP地址的程序 下面程序由命令行输入域名,输出ip import java.net.*; public class nslookup { //Usage:java nslookup hos ...

最新文章

  1. 我对Node.js Core的首次贡献中学到了什么
  2. java简单通讯录的实现02person类_用java实现简单的小游戏(你一定玩过)
  3. Android学习日记(1)
  4. python etree htm参数_python笔记1--lxml.etree解析html
  5. 安全开发流程(SDL)
  6. 2.2.5 Adam优化算法
  7. 查询数据库耗费资源的sql
  8. 2017.9.10 序列操作 思考记录
  9. 首个中国AI芯片收购案完成:深鉴创立2年后并入赛灵思
  10. bootstrap-table 树形结构
  11. oc基础-oc中之集合NSSet,NSMutableSet
  12. C语言开发环境搭建过程
  13. 识读第三角视图(机械识图)
  14. 计算机专业去,计算机专业去哪个学校_西信院
  15. java将链接生成二维码工具类
  16. 跨境电商运营 | 如何利用Instagram进行电子商务营销
  17. Verilog中task使用
  18. Harbor: 企业级Registry的构建利器
  19. 由ThinkServer RQ940死机到系统无法引导带来的感想
  20. 《英雄联盟》简介及其社会价值

热门文章

  1. 劳务员培训建筑八大员培训劳务员建筑劳务分包经营存在的问题
  2. mysql提取每个用户每天的记录
  3. UESTC 1253 阿里巴巴和n个大盗(博弈)
  4. manage.py: error: unrecognized arguments: runserver 8888运行pytorch模型报错
  5. 由select/epoll返回的非阻塞connect还会是EINPROGRESS状态吗?
  6. 看门狗芯片改滞回比较器的设计
  7. 2022-2028年中国汽车网络广告行业投资机会分析及市场前景趋势报告
  8. Vmware下Ubuntu安装Vmware tools问题/分辨率问题/屏幕显示不全问题
  9. QQ管家在你的电脑上不能卸载,结束进程怎么办?
  10. 开发手册——一、编程规约_8.注释规约