#include<stdlib.h>
typedef int DataType;
typedef struct snode
{DataType data;
struct snode *next;
} LinkStack;
LinkStack * Push(LinkStack * Top,DataType x)
{
LinkStack * p;
p=(LinkStack * )malloc(sizeof(LinkStack));
p->data=x;
p->next=Top;
Top=p;
return(Top);
}
LinkStack *Pop(LinkStack * Top,DataType * x)
{
LinkStack * p;
if(Top==NULL)
{ printf("\n链栈是空的!");
return NULL;
}
p=Top;
* x=p->data;
Top=Top->next;
free(p);
return Top;
}
int Convert(int n,int m)
{
int x;
LinkStack * Top=NULL;
while(n)
{x=n%m;
Top=Push(Top,x);
n/=m;
}
printf("转换后的%d进制数为:",m);
while(Top)
{
printf("%d",Top->data);
Top=Pop(Top,&x);
}
return 1;
}
int main()
{
int n,m;
printf("输入一个十进制正整数:");
scanf("%d",&n);
printf("输入转换数制:");
scanf("%d",&m);
Convert(n,m);
return 1;
}
学数据结构第3章的课后题,希望以后都能自己先思考先码,再修改自己的代码,就会daydayup啦