(第五周项目4)数制转换

来源:互联网 发布:linux怎么复制文件命令 编辑:程序博客网 时间:2024/05/17 23:39
/*  * Copyright (c)2016,烟台大学计算机与控制工程学院  * All rights reserved.  * 文件名称:项目4.cpp  * 作    者:黄玉娇  * 完成日期:2016年9月29日  * 版 本 号:v1.0   *问题描述::把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。  *输入描述:数字与进制  *程序输出:输出转换结果  */    

利用顺序栈算法库,头文件sqstack.h以及函数实现详见顺序栈算法库。
注:为实现本项目苈能,请将sqstack.h中的ElemType由char改为int,即
typedef char ElemType 改为  typedef int ElemType

主函数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;  }  

运行结果:





0 0
原创粉丝点击