| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 141 人关注过本帖
标题:还是不知道是哪里出问题了
收藏  订阅  推荐  打印 
ywlb
Rank: 1
等级:新手上路
帖子:6
积分:170
注册:2008-3-24
还是不知道是哪里出问题了

大家能不能帮忙看下,确实不知道哪里出问题了
#include<stdio.h>
#include<malloc.h>
typedef struct NODE *snode;
typedef struct NODE
{
    snode father;
    snode left;
    snode right;
    char valu;

   
};

void inorder(snode p)
{
    if(p)
    {
        inorder(p->left);
        printf("%c",p->valu);
        inorder(p->right);
    }
}

int main()
{
    int n,i,f,l,r;
    char c;
    snode p,*node;
    while(scanf("%d",&n)!=EOF)
    {   

        node=(snode *)malloc((n+1)*sizeof(struct NODE ));
        for(i=1;i<=n;i++)
            node[i]=(snode)malloc(sizeof(struct NODE));
        for(i=1;i<=n;i++)
        node[i]->left=node[i]->right=node[i]->father=0;
        
    scanf("%d%d%d%c",&f,&l,&r,&c);
        node[f]->valu=c;
        node[f]->left=node[l];node[l]->father=node[f];
        node[f]->right=node[r];node[r]->father=node[f];
      




        p=node[1];
        while(p->father)
        {
            p=p->father;
        }
        inorder(p);
        printf("\n");
    }
    return 0;
}

下面这个是测试数据

Sample Input

7
1 2 3 =
2 0 0 a
3 4 5 +
4 0 0 b
5 6 7 +
6 0 0 c
7 0 0 d

Sample Output
a=b+c+d

结果要实现中序输出
搜索更多相关主题的帖子: snode  NODE  struct  inorder  int  
2008-7-14 22:00
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

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