进制转换问题
2013-10-16 15:08
218 查看
递归解决:
非递归解决,利用栈的特点:
char ch[]="0123456789ABCDEF"; //进制所使用的数字 void Convert(int num, int d) //递归算法 { if(num==0) cout<<"转换结果:"; //开始输出 else { Convert (num/d, d); //对商进行转换 cout<<ch[num%d]<<" "; //注意此输出动作的位置 } }
非递归解决,利用栈的特点:
char ch[]="0123456789ABCDEF"; void Convert (int num, int d) //非递归算法 { SqStack S; DataType result; int r; InitStack(S); while(num!=0){ r=num%d; //取余数r Push(S,ch[r]); //余数入栈 num=num/d; //利用商进行下一次运算 } while(StackEmpty(S)!=1){ Pop(S, result); cout<<result; } }
相关文章推荐
- 问题 M: 递归函数--进制转换(十进制转二进制)
- LeetCode Excel Sheet Column Number(进制转换问题)
- poj 3191(-2)进制转换问题。
- 【算法题】进制转换、末尾0的个数、餐馆问题
- 数据结构c 进制转换问题(栈)
- java中的进制转换问题
- 基本数据类型的进制转换问题
- 进制转换中pow()函数的问题
- java中的进制转换问题
- hdoj 2051 Bitset(数的进制转换问题)
- 进制转换问题
- ACM内部函数--数学问题--任意进制转换
- 进制转换问题
- 蓝桥杯学习记录:Excel地址转换问题(进制转换)
- 进制转换问题
- 1022: 进制转换问题
- 关于JS中各进制转换问题
- 第七天学习笔记 ---计算机中进制转换问题
- 10进制的进制转换问题
- 进制转换问题