- /*
- * Copyright (c)2016,烟台大学计算机与控制工程学院
- * All rights reserved.
- * 文件名称:wu.cpp
- * 作 者:武昊
- * 完成日期:2016年9月29日
- * 版 本 号:v1.0
- *问题描述::把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。
- *输入描述:数字与进制
- *程序输出:输出转换结果
- */
main.cpp
- #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()
- {
- printf("将10转化成二进制是:\n");
- MultiBaseOutput(10, 2);
- printf("\n");
- return 0;
- }
sqstack.cpp
运行结果:
知识点总结:
顺序栈作为栈链一部分可以用来解决各种问题。