cc6gec 2017-04-15 11:32 采纳率: 0%
浏览 1023
已结题

用栈实现进制转换 输出停不下来

#include
#include
#include
#define M 20
typedef struct mystack
{
int a[M];
int top;//top表示数组元素的位置
}ST;
int isfull(ST *t);
int isempty(ST *t);
int pop(ST *t,int *data);
int push(ST *t,int data);
void transfer(int number);
int main()
{
int x;
printf("请输入一个十进制数:\n");
scanf("%d",&x);
while(x!=0)
{
transfer(x);
}
return 0;
}
int isfull(ST *t)//判断栈是否满
{
if(t->top==M-1)
return 1;
else return 0;
}
int isempty(ST *t)//判空
{
if(t->top return 1;
else return 0;
}
int push(ST *t,int data)//入栈操作
{
if(!isfull(t))
{
(t->top)++;
t->a[t->top]=data;
return 1;

}
else return 0;

}
int pop(ST *t,int *data)//*data表示出栈元素
{
if(!isempty(t))
{
*data=t->a[t->top];
(t->top)--;//栈长度减一
return 1;

}
else return 0;

}
void transfer(int number)
{
ST t;
int r;
t.top=-1;
while(number)//number 为非零时,持续求余
{
r=number%8;
push(&t,r);//入栈
number=number/8;//整除运算

}
while(!isempty(&t))
{
    pop(&t,&r);//出栈
     printf("%d",r);
}

printf("\n");

}

  • 写回答

5条回答 默认 最新

  • threenewbee 2017-04-15 11:57
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。