WEB开发网
开发学院软件开发C++ 顺序栈 十进制转化二进制 阅读

顺序栈 十进制转化二进制

 2012-06-07 07:18:44 来源:WEB开发网   
核心提示:*十进制转换二进制*/#include <stdio.h>#include <stdlib.h>#define MAX 32typedef struct{int bit[MAX];int top;}stack;stack s;int i = 0;void introduce(){printf(&
*十进制转换二进制
*/
#include <stdio.h>
#include <stdlib.h>
#define MAX 32

typedef struct
{
	int bit[MAX];
	int top;
}stack;

stack s;
int i = 0;

void introduce()
{
	printf("这是一个利用栈写出来的进制转换的程序。十进制转换二进制。\n");
}

void initstack()                             //初始化栈
{
	s.top = 0;
}

void push(int number)
{
	if(s.top == MAX)
	{
		exit(0);
	}
	else
	{
		s.bit[s.top] = number;
		(s.top)++;
	}
}

int pop()
{
	if(!s.top)
	{
		exit(0);
	}
	else
	{
		(s.top)--;
		return s.bit[s.top];
	}
}

int enternumber()
{
	int number = 0;             //用于输入
	printf("Please enter the number:");
	scanf("%d" , &number);
	if(number )
	return number;
}

void change(int number)
{
	int value = 0;
	while(number != 0)
	{
		value  =  number % 2;
		push(value);
		number /= 2;
		i++;
	}
}

int main()
{
	int number = 0;                          //用于接收enternumber()传来的值
	introduce();                      
	number = enternumber();
	change(number);                          //将number传入运算的函数
	for(; i > 0 ; i--)
	{
		printf("%d" , pop());
	}
	printf("\n");
	return 0;
}

Tags:顺序 十进制 转化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接