| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 670 人关注过本帖
标题:还是不知道是哪里出问题了
只看楼主 加入收藏
ywlb
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-3-24
收藏
 问题点数:0 回复次数:0 
还是不知道是哪里出问题了
大家能不能帮忙看下,确实不知道哪里出问题了
#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-07-14 22:00
快速回复:还是不知道是哪里出问题了
数据加载中...
 
   



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

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