第五周项目四 数制转换

来源:互联网 发布:收购淘宝小号 编辑:程序博客网 时间:2024/06/06 10:47
  1. *        
  2. Copyright (c)2016,烟台大学计算机与控制工程学院        
  3. All rights reserved.        
  4. 文件名称:1.cpp        
  5. 作    者:陈鹏鹏     
  6. 完成日期:2016年10月8日        
  7. 版 本 号:v1.0        
  8.         
  9. 问题描述:把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。   
  10. 输入描述:若干数据。  
  11. 程序输出:对应进制数的输出。  
  12. */    
       代码如下;

  1. #include <stdio.h>  
  2. #include "sqstack.h"  
  3.   
  4. void MultiBaseOutput (int number,int base)  
  5. {  
  6.     //假设number是非负的十进制整数,输出等值的base进制数  
  7.     int i;  
  8.     SqStack *S;  
  9.     InitStack(S);  
  10.     while(number)   //从右向左产生base进制的各位数字,并将其进栈  
  11.     {  
  12.         Push(S,number%base); //将将余数进栈  
  13.         number/=base;  
  14.     }  
  15.     while(!StackEmpty(S))   //栈非空时退栈输出  
  16.     {  
  17.         Pop(S, i);  
  18.         printf("%d",i);  
  19.     }  
  20. }  
  21. int main()  
  22. {  
  23.     MultiBaseOutput(10, 2);  
  24.     return 0;  
  25. }  
  26. 运行结果:


0 0