| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 496 人关注过本帖
标题:顺序栈的基本操作,运行得不到想要的答案,大家帮忙改改
收藏  订阅  推荐  打印 
wshyj18
Rank: 2
等级:注册会员
帖子:124
积分:1368
注册:2007-5-14
顺序栈的基本操作,运行得不到想要的答案,大家帮忙改改

#include<stdio.h>
#include<stdlib.h>
#define Maxsize 100
typedef struct /*一个栈的类型*/
{  
    int date[Maxsize];
    int top;
}stack;
void init(stack *p)
{
p->date[Maxsize]=NULL;/*这句可不可以不要*/
p->top=-1;
}
void push(stack *p,int a)
{
if(p->top==Maxsize-1)
    printf("man le,bu yao");
else
    {
     p->date[++(p->top)]=a;
    }
}
void pop(stack *p)
{
if(p->top==-1)
    printf("ni de shi kong zhan");
else
    {
     p->top--;
    
    }
}
void display(stack *p)
{
int i;
for(i=p->top;i>=0;i++)
   printf("%d",p->date[i]);
   printf("\n");
}
void main()
{
stack *p;
p=(stack*)malloc(100*sizeof(stack));
init(p);
push(p,4);
push(p,5);
display(p);
pop(p);
display(p);
}

[[italic] 本帖最后由 wshyj18 于 2007-12-27 12:23 编辑 [/italic]]
搜索更多相关主题的帖子: stack  顺序  void  int  top  
2007-12-27 12:21
wshyj18
Rank: 2
等级:注册会员
帖子:124
积分:1368
注册:2007-5-14

#include<stdio.h>
#include<stdlib.h>
#define Maxsize 100
typedef struct /*一个栈的类型*/
{  
    int date[Maxsize];
    int top;
}stack;
void init(stack *p)
{
p->date[Maxsize]=NULL;
p->top=-1;
}
void push(stack *p,int a)
{
if(p->top==Maxsize-1)
    printf("man le,bu yao");
else
    {
        s->top++;
     p->date[p->top]=a;
    }
}
void pop(stack *p)
{
if(p->top==-1)
    printf("ni de shi kong zhan");
else
    {
     p->top--;
    
    }
}
void display(stack *p)
{
int i;
for(i=p->top;i>=0;i++)
   printf("%d",p->date[i]);
   printf("\n");
}
void main()
{
stack *p;
p=(stack*)malloc(100*sizeof(stack));
init(p);
push(p,4);
push(p,5);
display(p);
pop(p);
display(p);
}
上面的写错了,我改一下,可是还是不能显示正确的

2007-12-27 12:30
wshyj18
Rank: 2
等级:注册会员
帖子:124
积分:1368
注册:2007-5-14

#include<stdio.h>
#include<stdlib.h>
#define Maxsize 100
typedef struct /*一个栈的类型*/
{  
    int date[Maxsize];
    int top;
}stack;
void init(stack *p)
{
p->date[Maxsize]=NULL;
p->top=-1;
}
void push(stack *p,int a)
{
if(p->top==Maxsize-1)
    printf("man le,bu yao");
else
    {
        s->top++;
     p->date[p->top]=a;
    }
}
void pop(stack *p)
{
if(p->top==-1)
    printf("ni de shi kong zhan");
else
    {
     p->top--;
   
    }
}
void display(stack *p)
{
int i;
for(i=p->top;i>=0;i--)
   printf("%d",p->date[i]);
   printf("\n");
}
void main()
{
stack *p;
p=(stack*)malloc(100*sizeof(stack));
init(p);
push(p,4);
push(p,5);
display(p);
pop(p);
display(p);
}
经过我的修改,终于完成了

2007-12-28 14:26
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.046103 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved