顺序栈 十进制转化二进制
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; }
更多精彩
赞助商链接