首页 > 代码库 > 把十进制整数转换为r(r=2)进制输出(顺序栈实现)
把十进制整数转换为r(r=2)进制输出(顺序栈实现)
上周的第二个作业补上~~
上周的要求:
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)进制输出(顺序栈实现)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。