求指点数据结构链栈将一个十进制数转换为二进制数#include <stdio.h>#include <malloc.h>typedef struct node{ int data; struct node *link;}NODE;NODE *push(int m){ NODE *p,*top; p=(NODE *)malloc(sizeof(NODE)); p->data =m; p->link =top; top=p; return top;}NODE *pop(NODE *top){ NODE *q; q=top; top=top->link ; free(q); return top;}void conversion(int N,int r){ NODE *top1; top1=(NODE *)malloc(sizeof(NODE)); int x=N,y=r; while(N!=0) { top1=push(N%r); N=N/r; } printf("\n十进制数%d所对应的%d进制数是:",x,y); while(top1!=NULL) { printf("%d", top1=pop(top1)); } printf("\n");}void main(){ int n,r; printf("请输入任意一个十进制整数及其所需转换的进制数:\n"); scanf("%d%d",&n,&r); conversion(n,r);}