| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 392 人关注过本帖
标题:请教那出错
只看楼主 加入收藏
西菜鸟
Rank: 1
来 自:东方
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-3-10
收藏
 问题点数:0 回复次数:1 
请教那出错
#include "stdafx.h"
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define N 32000
typedef struct astack *stack;
typedef struct astack
{
    int top,maxtop;
    int*data;
}astack;

stack stacklnit (int size)
{
    stack s=(stack)malloc(sizeof*s);
    s->data=(int*)malloc(size*sizeof(int));
    s->maxtop=size-1;
    s->top=-1;
    return s;
}
void push(stack s,int x)
{
    if(s->top>=s->maxtop)printf("stack is full\n");
    else s->data[++s->top]=x;
        
}

int pop(stack s)
{
    if(s->top<0)printf("stack is empty\n");
    else return s->data[s->top--];
}
int main(int argc, char* argv[])
{
    char str1[20]={"push"},str2[20];
    int n,a,s,data,b,d[N];
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    printf("input the data of stack n=\n");
    scanf("%d",&n);
    b=0;
    while(scanf("%s,%d,%d",&str2,&s,&data)!=EOF);
    {
        while(s!=b)
        {
        stack ss=stacklnit(N);
        ss->top=d[s];
        if(strcmp(str1,str2)>=0)
        {
            push(ss,data);
        }
        else
        {
            if(ss->top<0)
                printf("%d",a=0);
            else
                printf("%d",a=pop(ss));
        }
        b=s;
        }
    }
    return 0;
}
搜索更多相关主题的帖子: include return 
2008-03-13 11:05
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
你的栈有问题。。栈和树,链表都查不多。。要么你用递归要么你用循环。。改一下啊。。我路过。。

学习需要安静。。海盗要重新来过。。
2008-03-13 11:13
快速回复:请教那出错
数据加载中...
 
   



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

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