码迷,mamicode.com
首页 > 其他好文 > 详细

把十进制整数转换为r(r=2)进制输出(顺序栈实现)

时间:2016-10-24 02:30:45      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:ack   span   ++   顺序   its   作业   print   push   sem   

上周的第二个作业补上~~

上周的要求:

1.给出顺序栈的存储结构定义。
2.完成顺序栈的基本操作函数。
1)      初始化顺序栈
2)      实现入栈和出栈操作
3)      实现取栈顶元素和判空操作
把十进制整数转换为r(r=2)进制输出
3.编写主函数实现基本操作函数功能,并设置测试数据,测试合法和非法数据的输出结果。
4.程序调试运行并保存输出结果。
5.整理并提交实验作业。
 1 #include <cstdio>
 2 #include <cstring>
 3 #define Stack_Size 50
 4 
 5 typedef struct 
 6 {
 7     int ll[Stack_Size];
 8     int top;
 9 }SeqStack;
10 
11 int IsEmpty(SeqStack *S)//栈判空
12 {
13     return S->top == -1;
14 }
15 
16 void Push(SeqStack * S,int x)//进栈
17 {
18     S->top++;
19     S->ll[S->top]=x;
20 }
21 
22 void Pop(SeqStack * S,int *x)//出栈
23 {
24     *x=S->ll[S->top];
25     S->top--;
26 }
27 
28 void InitStack(SeqStack * S)//初始化顺序栈
29 {
30     S->top = -1;
31 }
32 
33 
34 void zhuanhuan(int a)
35 {
36     SeqStack S;
37     InitStack(&S);
38     int kk;
39     while(a){
40         kk=a%2;
41         Push(&S,kk);
42         a=a/2;
43     }
44     while(IsEmpty(&S)==0){
45         int x;
46         Pop(&S,&x);
47         printf("%d",x);
48     }
49     printf("\n");
50 
51 }
52 
53 int main()
54 {
55     printf("欢迎使用!本程序将十进制转换成二进制\n");
56     printf("请输入一个十进制数\n");
57     int a;
58     scanf("%d",&a);
59     zhuanhuan(a);
60 
61     return 0;
62 }

 

把十进制整数转换为r(r=2)进制输出(顺序栈实现)

标签:ack   span   ++   顺序   its   作业   print   push   sem   

原文地址:http://www.cnblogs.com/xzt6/p/5991439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!