64,683
社区成员
发帖
与我相关
我的任务
分享
//conversion function.
typedef struct Node
{
int data;
struct Node * next;
}node;
node * createstack()
{
node * top;
top = (node *)malloc(sizeof(node));
top->next = NULL;
top->data = -1;
return top;
}
void addsknode(node * top, int in)
{
if(top->data == -1)
top->data = in;
else
{
node * newtop;
newtop = (node *)malloc(sizeof(node));
newtop->data = in;
newtop->next = top;
top = newtop;
}
}
void delstnode(node * top)
{
node * del;
del = top;
top = top->next;
free(del);
}
int main(int argc, char *argv[])
{
int toc, i, div, mod, bit;
printf("Enter:\n");
scanf("%d", &toc);
div = toc;
printf("Enter bit:(2, 8, 16)\n");
scanf("%d", &bit);
switch(bit)
{
case 2: i = 8;break;
}
node * stack = createstack();
do
{
div = div / bit;
mod = div % bit;
addsknode(stack, mod);
i --;
}while(i != 0);
printf("%d", stack->data);
while(stack->next != NULL)
{
delstnode(stack);
printf("%d", stack->data);
}
system("PAUSE");
return 0;
}
//void addsknode(node * top, int in)
void addsknode(node* &top, int in){
if(top->data == -1)
top->data = in;
else
{
node * newtop;
newtop = (node *)malloc(sizeof(node));
newtop->data = in;
newtop->next = top;
top = newtop;
}
}