数据结构,栈:十进制转换二进制
AC代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define M 10005
typedef int Elemtype;
typedef struct Stack
{
Elemtype data[M];
int top;
}Stack;
struct Stack *Init()
{
struct Stack *s;
s= (struct Stack *)malloc(sizeof(struct Stack ));
if(s!= NULL)
{
s->top = -1;
return s;
}
else exit(0);
}
int main()
{
struct Stack *s;
int n,temp;
s = Init();
while(scanf("%d",&n)!= EOF)
{
while(n)
{
s->top++;
s->data[s->top] = n%2;
n = n/2;
}
while(s->top != -1)
{
temp = s->data[s->top];
s->top--;
printf("%d",temp);
}
printf("\n");
}
return 0;
}
本文介绍了一种使用栈数据结构将十进制数转换为二进制数的方法,并提供了一个完整的C语言实现示例。该程序通过不断除以2并将余数压入栈中来完成转换。

435

被折叠的 条评论
为什么被折叠?



