题目:
建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换。
输入
输入只有一行,就是十进制整数。
输出
转换后的二进制数。
样例:
样例输入 10
样例输出 1010
代码如下:
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int data[50];
int top;
} SqStack;
void InitStack(SqStack *&s)
{
s=(SqStack *)malloc(sizeof(SqStack));
s->top=-1;
}
void DestroyStack(SqStack *&s)
{
free(s);
}
void Push(SqStack *&s,int e)
{
s->top++;
s->data[s->top]=e;
}
int main()
{
int n;
scanf("%d",&n);
SqStack *s;
InitStack(s);
int x;
while(n!=0)
{
x=n%2;
n=n/2;
Push(s,x);
}
while(s->top!=-1)
{
printf("%d",s->data[s->top]);
s->top--;
}
DestroyStack(s);
return 0;
}