作者在 2011-10-13 17:37:53 发布以下内容
#include "malloc.h"
#include "stdio.h"
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef struct stacknode{
ElemType data;
struct stacknode *next;
} StackNode;
typedef struct {
struct stacknode *top;
struct stacknode *next;
} *LinkStack;
void InitStack(LinkStack S)
{S->next=NULL;
printf("已经初始化链栈\n");
}
int Push(LinkStack S,ElemType x)
{StackNode *temp;
temp=(StackNode *)malloc(sizeof(StackNode));
temp->data=x;
temp->next=S->next;
S->next=temp;
return TRUE;
}
int Pop(LinkStack S,ElemType x)
{StackNode *p;
p=S->top;
if(S->next==NULL)
return FALSE;
x=p->data;
S->next=p->next;
free(p);
return TRUE;
}
int isEmpty(LinkStack S)
{if(S->next==NULL) return TRUE;
else return FALSE;
}
void conversion(int N,int b)
{
LinkStack s;
ElemType x;
int N1=N;
(LinkStack *)malloc(sizeof(LinkStack));
s->next=NULL;
while(b>=2&&N!=0){
x=N%b;
Push(s,x);
N=N/b;
}
printf("十进制整数%d对应的%d进制整数:",N1,b);
while(s->next!=NULL){
Pop(s,x);
printf("%d",x);
}
printf("\n");
}
void main()
{
int N,b;
printf("输入十进制数N和转换后的进制d:");
scanf("%d%d",&N,&b);
conversion(N,b);
}
#include "stdio.h"
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef struct stacknode{
ElemType data;
struct stacknode *next;
} StackNode;
typedef struct {
struct stacknode *top;
struct stacknode *next;
} *LinkStack;
void InitStack(LinkStack S)
{S->next=NULL;
printf("已经初始化链栈\n");
}
int Push(LinkStack S,ElemType x)
{StackNode *temp;
temp=(StackNode *)malloc(sizeof(StackNode));
temp->data=x;
temp->next=S->next;
S->next=temp;
return TRUE;
}
int Pop(LinkStack S,ElemType x)
{StackNode *p;
p=S->top;
if(S->next==NULL)
return FALSE;
x=p->data;
S->next=p->next;
free(p);
return TRUE;
}
int isEmpty(LinkStack S)
{if(S->next==NULL) return TRUE;
else return FALSE;
}
void conversion(int N,int b)
{
LinkStack s;
ElemType x;
int N1=N;
(LinkStack *)malloc(sizeof(LinkStack));
s->next=NULL;
while(b>=2&&N!=0){
x=N%b;
Push(s,x);
N=N/b;
}
printf("十进制整数%d对应的%d进制整数:",N1,b);
while(s->next!=NULL){
Pop(s,x);
printf("%d",x);
}
printf("\n");
}
void main()
{
int N,b;
printf("输入十进制数N和转换后的进制d:");
scanf("%d%d",&N,&b);
conversion(N,b);
}