| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 248 人关注过本帖
标题:一个顺序栈的问题.
只看楼主 加入收藏
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
结帖率:57.14%
收藏
 问题点数:0 回复次数:4 
一个顺序栈的问题.
程序代码:
#include "stdio.h"
#include "stdlib.h"
#define Stack_size 50
#define TRUE 1
#define FALSE 0
typedef struct
{
    int elem[Stack_size];
    int top;
}Stack;
void InitStack(Stack *s)
{
    s->top=-1;
}
int Push(Stack *s,int n)
{
    if(s->top==Stack_size-1)
        return FALSE;
    else
    {
        s->elem[s->top]=n;
        s->top++;
    }
    return TRUE;
}
int Pop(Stack *s,int *x)
{
    if(s->top==-1)
        return FALSE;
    else
    {
        *x=s->elem[s->top];
        s->top--;
    }
    return TRUE;
}
int main()
{
    Stack *s;
    int n,t,i=1,*p;
    printf("DO You want to Creat a Stack ?(1[YES]/2[NO])");
    scanf("%d",&t);
    switch(t)
    {
        case 1 :
              InitStack(s);  //好像是这里出问题了,一运行就出现遇到问题需要关闭的错误.
              printf("Input 0 Stop creat\n");
            while(i<Stack_size)
        {
            printf("Please Input %d push :",i);
            scanf("%d",&n);
            if(Push(s,n))
                i++;
            else
                break;
        }
         while(s->top!=-1)
        {
                printf("%4d",s->elem[s->top]);
                s->top--;
        }break;
        case 2:
            break;
    }
    return 0;
   
}
请大家看看,那里出错了,
2011-05-18 15:52
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
收藏
得分:0 

只能人工了
2011-05-18 16:05
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
收藏
得分:0 

再一次人工
2011-05-18 17:03
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
程序代码:
#include "stdio.h"
#include "stdlib.h"
#define Stack_size 50
#define TRUE 1
#define FALSE 0
typedef struct
{
    int elem[Stack_size];
    int top;
}Stack;
void InitStack(Stack *s)
{
    s->top=-1;
}
int Push(Stack *s,int n)
{
    if(s->top==Stack_size-1)
        return FALSE;
    else
    {
        s->elem[s->top]=n;
        s->top++;
    }
    return TRUE;
}
int Pop(Stack *s,int *x)
{
    if(s->top==-1)
        return FALSE;
    else
    {
        *x=s->elem[s->top];
        s->top--;
    }
    return TRUE;
}
int main()
{
    Stack *s,stack;//这里要有一个栈结构体的对象 然后用它的指针再对它操作
    s = &stack;
    int n,t,i=1,*p;
    printf("DO You want to Creat a Stack ?(1[YES]/2[NO])");
    scanf("%d",&t);
    switch(t)
    {
        case 1 :
              InitStack(s);  //好像是这里出问题了,一运行就出现遇到问题需要关闭的错误.
              printf("Input 0 Stop creat\n");
            while(i<Stack_size)
        {
            printf("Please Input %d push :",i);
            scanf("%d",&n);
            if(Push(s,n))
                i++;
            else
                break;
        }
         while(s->top!=-1)
        {
                printf("%4d",s->elem[s->top]);
                s->top--;
        }break;
        case 2:
            break;
    }
    return 0;
  
}
收到的鲜花
  • Devil_W2011-05-18 20:48 送鲜花  -3朵   附言:不懂装懂。

                                         
===========深入<----------------->浅出============
2011-05-18 18:45
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
收藏
得分:0 
回复 4楼 laoyang103

纠结,这个是基本语法 。。。。
2011-05-18 20:36
快速回复:一个顺序栈的问题.
数据加载中...
 
   



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

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