(第六周项目4)数制转换
2015-11-16 16:38
260 查看
把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。提示:要转换为r进制,则原来的数逐次除以基数r(除完之后用商再除),直到商为0,得到的一系列余数的逆序就是转换结果。逆序,后进先出。
#include <stdio.h> #include "sqstack.h" void MultiBaseOutput (int number,int base) { //假设number是非负的十进制整数,输出等值的base进制数 int i; SqStack *S; InitStack(S); while(number) //从右向左产生base进制的各位数字,并将其进栈 { Push(S,number%base); //将将余数进栈 number/=base; } while(!StackEmpty(S)) //栈非空时退栈输出 { Pop(S, i); printf("%d",i); } } int main() { MultiBaseOutput(10, 2); return 0; }
相关文章推荐
- 为什么用Android Volley时返回的中文是乱码,而postman却显示正常
- 第八周 项目3-2
- 如何运行Smali文件?
- qsort细节用法,double型的排序我竟然一直用错了~~~
- 线性表1 – 数据结构和算法06
- 给apple服务器推送通知APNS 更换证书
- Ubuntu 14.04 + Caffe + Cuda 7.5 + Opencv 3.0安装教程
- iOS开发问题之XCode7.0及IOS9.0的问题
- 根据获取Enum名获取对应的值通用方法(仅限值为int的)
- 二叉树算法验证(3)中序线索化二叉树的算法验证
- cacti自定义脚本
- 数据结构实践——二叉树算法验证(二叉树构造算法的验证)
- tomcat源码分析
- 建餐饮O2O战略新招
- Xcode不显示工程文件,配置文件
- ORACLE 字符转义的问题
- Python新手容易遇到的问题
- jquery
- 第十二周项目1-图基本算法库
- 欢迎使用CSDN-markdown编辑器