如何用栈实现十进制跟二进制、八进制的转换?

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:50:01
计算十进制与二进制,十进制与八进制转换的时候,利用栈作为存储方式,该怎么实现?哪位好心同志帮帮忙吧,急需解决了,谢谢!

#include<stdio.h>
#include<malloc.h>
#include<windows.h>
#define NULL 0

typedef struct Number
{int num;
struct Number *next;
}Num;

void Conversion(int iNum,int i); //转换数字,进栈,iNum为待转换的数,i代表进制
void Pop(struct Number *top,int i); //显示结果,出栈,top为栈顶指针,i代表进制

void main()
{int m=8,n=2,j=16;
int iNum;
char choose,c;
while(1)
{system("cls");
printf("************数制转换**************\n\n");
printf("请输入一个十进制数<Enter>: ");
scanf("%d",&iNum);
printf("\n**********转换后结果为:***********\n");
printf("\n\t八进制:");
Conversion(iNum,m);
printf("\n\t二进制:");
Conversion(iNum,n);
printf("\n 十六进制:");
Conversion(iNum,j);
printf("\n***********转换完毕!**************\n");
printf("