該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓
//用棧結構
#include
#include
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList creatLNode(LinkList L)
{
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
return L;
}
void zhuanzhi(LinkList L,int data)
{
int sign=1,yushu,shang=data;
LinkList p;
if(data<0)
{
shang=-data;
sign=-1;
}
if(data==0)
printf("該十進制整數對應的二進制數為:\n0\n");
while(shang>0)
{
yushu=shang%2;
p=(LinkList)malloc(sizeof(LNode));
if(!p)
exit(-2);
p->data=yushu;
p->next=L->next;
L->next=p;
shang/=2;
}
if(sign==-1)
{
printf("該十進制整數對應的二進制數為:\n");
printf("-");
}
for(p=L->next;p!=NULL;p=p->next)
printf("%d",p->data);
printf("\n");
}
void del(LinkList L)
{
LinkList p=L,q;
while(!p)
{
q=p;
p=p->next;
free(q);
}
}
void main()
{
int data;
LinkList L;
L=creatLNode(L);
printf("請輸入要轉換的十進制數:");
scanf("%d",&data);
zhuanzhi(L,data);
del(L);
}