十进制转换为其他进制
来源:互联网 发布:环比增长率算法 编辑:程序博客网 时间:2024/04/29 18:58
#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define OK 1#define ERROR 0#define True 1#define False 0#define OVERFLOW -1typedef int Status;//栈的存储结构 typedef struct{ int *base; int *top; int stacksize;}Sqstack;//构建空栈 Status InitStack(Sqstack *s){ s->base=(int *)malloc(STACK_INIT_SIZE*sizeof(int)); if(!s->base) exit(OVERFLOW); s->top=s->base; s->stacksize=STACK_INIT_SIZE; return OK; }//压栈操作 Status Push(Sqstack *s, int e){ if(s->top-s->base>=s->stacksize)//若栈满,追加存储空间 { s->base=(int *)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(int)); if(!s->base) exit(OVERFLOW); s->top=s->base+s->stacksize; // 将栈顶指针指向当前栈顶元素的上方 s->stacksize+=STACKINCREMENT; //增加栈已分配的存储空间 } *(s->top++)=e; return OK; }//出栈操作 Status Pop(Sqstack *s,int *e) { if(s->top==s->base) //如果为空栈则返回错误 return ERROR; *e=*(--(s->top)); //取栈顶元素 return OK; }Status StackEmpty(Sqstack *s){ if(s->top==s->base) return True; else return False; }Status ClearSqstack(Sqstack *s){ s->top=s->base; return OK;}void Conversion(Sqstack *s,int N,int b){ char c; int e; while(N) { Push(s,N%b); N=N/b; } while(!StackEmpty(s)) { Pop(s,&e); if(e>9&&e<16) { switch(e) { case 10:c='A';printf("%c",c);break; case 11:c='B';printf("%c",c);break; case 12:c='C';printf("%c",c);break; case 13:c='D';printf("%c",c);break; case 14:c='E';printf("%c",c);break; case 15:c='F';printf("%c",c);break; default:break; } } else printf("%d",e); } printf("\n");} int main(){ int N; int b; char c; Sqstack s; InitStack(&s); printf(" 1.十进制的转化\n 0.退出\n"); while(c!='0') { scanf("%c",&c); switch(c) { case '1': printf("请输入要转化的数据:"); scanf("%d",&N); printf("请输入要转化的进制:"); scanf("%d",&b); Conversion(&s,N,b); ClearSqstack(&s); break; case '0': exit(0); default: break; } } system("pause");}
十进制转化为其他进制
若取余后数字>=10 &&<=15
则10对应A。。。15对应F- 十进制转换为其他进制
- 十进制转换为其他进制
- 利用栈将十十进制转换为其他进制
- Java中十进制转换为其他进制的方法
- 制表法将十进制转换为其他进制
- C++将其他进制转换为十进制
- 十进制整数转换为其他进制输出
- 十进制转换为其他进制数
- 十进制转换成其他进制
- 其他进制转化为十进制
- Java转换十进制为其他进制的两种方法
- 不设变量交换数据、十进制转换为其他进制
- c++中将十进制数转换为其他进制的简便方法
- 十进制转换成其他进制和其他进制数转换成十进制数
- 十进制转换为任意进制
- 将16进制转换为十进制
- 任意进制转换为十进制
- n进制转换为十进制
- 金山题
- SQL Server 2012 'sa'登录错误 18456
- 2014UC的最后一道题题目:第一个只出现一次的字符[算法]
- Ubuntu傻瓜教程之挂卸载U盘
- SQLite数据库的创建
- 十进制转换为其他进制
- 真机测试中“Adb connection Error:远程主机强迫关闭了一个现有的连接”的解决方案
- (Java)分支界限法求解背包问题
- ListView入门
- 最大子序列求和
- 你为什么玩游戏?
- setuptools的使用
- hdu 4729 树链剖分+二分
- Swing中的TableCellRenderer与TableCellEditor的作用