| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 751 人关注过本帖
标题:帮忙讲解下程序 谢了
取消只看楼主 加入收藏
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
结帖率:100%
收藏
已结贴  问题点数:1 回复次数:7 
帮忙讲解下程序 谢了
if(!p)
printf("error");
p->top=-1;
搜索更多相关主题的帖子: top 
2011-04-24 22:00
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
收藏
得分:0 
谢谢了
2011-04-24 22:41
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
收藏
得分:0 
你好朋友 我有一个完整的长程序 你能给逐句解释下吗 感激不尽
2011-04-24 22:45
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
收藏
得分:0 
感觉你听强的想让你给帮忙 讲解下 拜托了
2011-04-24 22:54
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
收藏
得分:0 
拜托了 朋友
#include<stdio.h>
#include<stdlib.h>
#define MAX  20
typedef struct {
int stack[MAX];
int top;
}sqstack;
void Initstack(sqstack *p)   /*初始化*/
{
if(!p)
printf("error");
p->top=-1;\
}
void Push(sqstack *p,int x)
{
if(p->top<MAX-1)
{
p->top=p->top+1;
p->stack[p->top]=x;
}
else printf("overflow!\n");
}
int Pop(sqstack *p)
{
int x;
if(p->top!=0)
{
x=p->stack[p->top];
printf("以前的栈顶元素%d已经被删除 !\n",x);
p->top=p->top-1;
return x;
}
  else
  {
  printf("underflow!\n");
  return 0;
  }
  }
  int Gettop(sqstack *p)
  {
  int x;
  if(p->top!=0)
  {
  x=p->stack[p->top];
  return x;
  }
  else
  {
  printf("underflow\n");
  return 0;
  }
  }
  void Outstack(sqstack *p)
  {
  int i;
  printf("\n");
  if(p->top<0)
  {
  printf("这是一个空栈 !");
  printf("\n");
    }
    else
    for(i=p->top;i>=0;i--)
       printf("第 %d 个数据元素是: %d\n",i,p->stack[i]);

    }
    void Setempty(sqstack *p)
    {
    p->top=-1;
    }
    main()
    {
    sqstack *q;
    int y,cord;
    int a;
    do{
    printf("\n");
    printf("第一次使用必须初始化 !\n");
    printf("\n");
    printf("\n            主菜单                \n");
    printf("\n      1    初始化顺序栈           \n");
    printf("\n      2    插入一个元素           \n");
    printf("\n      3    删除栈顶元素           \n");
    printf("\n      4    取栈顶元素             \n");
    printf("\n      5    置空顺序栈             \n");
    printf("\n      6    结束程序运行           \n");
    printf("\n----------------------------------\n");
    printf("请输入您的选择 (1,2,3,4,5,6)");
    scanf("%d",&cord);
    printf("\n");
    switch(cord)
    {
    case 1:
    {
    q=(sqstack *)malloc(sizeof(sqstack));
    Initstack(q);
    Outstack(q);
    }break;
    case 2:
   { printf("请输入要插入的数据元素 :a=");
    scanf("%d",&a);
    Push(q,a);
    Outstack(q);
    }break;
    case 3:
    {
    Pop(q);
    Outstack(q);
    }
    break;
    case 4:
    {
    y=Gettop(q);
    printf("\n 栈顶元素为 : %d",y);
    Outstack(q);
    }break;
    case 5:
    {
    Setempty(q);
    printf("\n顺序栈被置空! \n");
    Outstack(q);
    }break;
    case 6:
    exit(0);
    }
    }while(cord<=6);
    }
2011-04-24 22:55
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
收藏
得分:0 
喔行  谢谢你了
2011-04-24 23:01
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
收藏
得分:0 
谢谢各位了 能不能再具体点
2011-04-25 20:26
情非得已
Rank: 1
等 级:新手上路
帖 子:59
专家分:5
注 册:2011-4-23
收藏
得分:0 
版主能不能讲的具体点 谢谢了
2011-04-25 23:01
快速回复:帮忙讲解下程序 谢了
数据加载中...
 
   



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

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