把十进制整数转换为r(r=2)进制输出(顺序栈实现)
上周的第二个作业补上~~
上周的要求:
1.给出顺序栈的存储结构定义。
2.完成顺序栈的基本操作函数。
1) 初始化顺序栈
2) 实现入栈和出栈操作
3) 实现取栈顶元素和判空操作
把十进制整数转换为r(r=2)进制输出
3.编写主函数实现基本操作函数功能,并设置测试数据,测试合法和非法数据的输出结果。
4.程序调试运行并保存输出结果。
5.整理并提交实验作业。
#include <cstdio>
#include <cstring>
#define Stack_Size 50
typedef struct
{
int ll[Stack_Size];
int top;
}SeqStack;
int IsEmpty(SeqStack *S)//栈判空
{
return S->top == -1;
}
void Push(SeqStack * S,int x)//进栈
{
S->top++;
S->ll[S->top]=x;
}
void Pop(SeqStack * S,int *x)//出栈
{
*x=S->ll[S->top];
S->top--;
}
void InitStack(SeqStack * S)//初始化顺序栈
{
S->top = -1;
}
void zhuanhuan(int a)
{
SeqStack S;
InitStack(&S);
int kk;
while(a){
kk=a%2;
Push(&S,kk);
a=a/2;
}
while(IsEmpty(&S)==0){
int x;
Pop(&S,&x);
printf("%d",x);
}
printf("\n");
}
int main()
{
printf("欢迎使用!本程序将十进制转换成二进制\n");
printf("请输入一个十进制数\n");
int a;
scanf("%d",&a);
zhuanhuan(a);
return 0;
}


1.给出顺序栈的存储结构定义。
2.完成顺序栈的基本操作函数。
1) 初始化顺序栈
2) 实现入栈和出栈操作
3) 实现取栈顶元素和判空操作
把十进制整数转换为r(r=2)进制输出
3.编写主函数实现基本操作函数功能,并设置测试数据,测试合法和非法数据的输出结果。
4.程序调试运行并保存输出结果。
5.整理并提交实验作业。
浙公网安备 33010602011771号