发新话题
打印

各位老师帮帮我吧

各位老师帮帮我吧

--------------------------------------------------------------------------------

各位老师你们好,帮我解解困吧!
下面的程序有点错误,不知道错在哪里,愿各位老师能帮个忙,“LJH”将不胜感激。下面的程序编译、连接
    能通过,但不出结果。程序如下:
#include"stdio.h"
typedef struct node{
int data;
struct node *left,*right;
}bitree;
  void insert(bitree *b,bitree *s) /*向一个二树插入一个结点*/
  {if(b==NULL) b=s;
    else if(s->data==b->data) return; /*  不作任何插入操作*/
    else if(s->data<b->data)  insert(b->left,s); /*将插入左子树中*/
    else if(s->data>b->data)  insert(b->right,s);  /*将s插入右子树中*/
}
   bitree *creat()
    {bitree *b,*s;
      int x;
      b=NULL ;
     do
    {scanf("%d",&x); /*读入一个整数*/
      s=(bitree *)malloc(sizeof(bitree));  /*产生一个树结点*/
      s->data=x;
      s->left=NULL;
      s->right=NULL;
      insert(b,s);  /*插入该结点*/
      }
        while(x!=-1);
      return b;
      }
   void print( bitree *b) /*输出一颗二叉树*/
   { if (b!=NULL)
        {printf("%d",b->data);
          if(b->left!=NULL||b->right!=NULL)
          {printf("(");
            print(b->left);
            if(b->right!=NULL) printf(",");
            print(b->right);
              printf(")");
             }
          }
      }
main()
{bitree *b:
  b=creat()  ;
print(b);
}

            
     



TOP

发新话题