| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12552 人关注过本帖
标题:用栈实现进制转换
取消只看楼主 加入收藏
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
用栈实现进制转换
程序代码:
/*运用栈实现进制转换*/

#include<stdio.h>
#include<malloc.h>
typedef char DataType
#define STACK_SIZE 100

                                         // 构造栈
typedef struct{                       
    DataType *top;
    DataType *base;
    int stack_size;
}seqstack;

void init(seqstack *s)                 // 初始化
{
    s->base=(seqstack *)malloc(STACK_SIZE*sizeof(DataType));
    if(!s->base) exit(-1);
    s->top=s->base;
    s->stack_size=STACK_SIZE;
}

int IsEmpty(seqstack *s)               // 判断栈空
{
    return s->base==s->top;
}

int IsFull(seqstack *s)                // 判断栈满
{
    return s->top-s->base==STACK_SIZE-1;
}

void Push(seqstack *s,char ch)         // 进栈
{
    if(IsFull(s))
    {
        printf("overflow\n!");
        exit(1);
    }
    else
        *s->top++=ch;
}

char Pop(seqstack *s)                 // 出栈
{
    if(IsEmpty(s))
    {
        printf("栈空\n");
        exit(1);
    }
    return *--s->top;
}

char Top(seqstack *s)                   // 取栈顶元素
{
    if(IsEmpty(s))
    {
        printf("栈空\n");
        exit(1);
    }
    return *(s->top-1);
}

void conversion(int a,int b)                     // 实现进制转换
{
    int i;
    seqstack *s;
    init(s);
    while(a)
    {
        Push(s,a%b);
        a=a/b;
    }
    while(!IsEmpty(s))
    {
        i=Pop(s);
        printf("%d",i);
    }
}

int main(int argc,char *argv[])
{
    int a,b;
    printf("please input the data you want to conversion\n");
    scanf("%d",&a);
    printf("please input the scale you want to convert to\n");
    scanf("%d",&b);
    conversion(a,b);
    return 0;
}





请问为何编译提示出错
搜索更多相关主题的帖子: color 
2011-08-09 21:17
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
这个为什么不可以申明为指针 seqstack *s?
2011-08-10 13:00
快速回复:用栈实现进制转换
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029525 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved