哪位仁兄帮我编译以下程序阿?

以下程序26 处错误!
//*信管031 ***数据结构作业*//
//*建立二叉树并求深度*//
#include<malloc.h>
#include<string.h>
#include<stdio.h>
int commend,ord;
void ctree()
{    
struct tnode{int val,order;
             int depth;
             struct tnode *lchild,*rchild,*parent;}
struct tnode *p,*q,*rt;

printf("输入命令字符,1左,2右,3退出");
      scanf("%d",&commend);
      if(commend!=1&&commend!=2&&commend!=3)
      {printf("order out of switch!");
      break;}
switch(commend){
      case 1:while(p->lchild)p=p->lchild;
      rt=(tnode *)malloc(sizeof(tnode));
      rt->parent=p;
      rt->order=q->order+1;
      printf("输入新结点的值:");
      scanf("%d",&rt->val);
      rt->depth=p->depth+1;
      p->lchild=rt;
      q=rt;
      ctree();
      break;
      case 2:while(p->rchild)p=p->rchild;
      rt=(tnode *)malloc(sizeof(tnode));
      rt->parent=p;
      rt->order=q->order+1;
      printf("输入新结点的值:");
      scanf("%d",&rt->val);
      rt->depth=p->depth+1;
      p->rchild=rt;
      q=rt;
      ctree();
      break;
      case 3:break;
      }
vis(struct tnode *pos){if(pos->depth>ord)
                       ord=pos->depth;
                       printf("现在最大结点序号为:%d/n深度为:%d"pos->order,ord);
                       printf("该结点的值为:%d",pos->val);
                       }
tran(struct tnode *base){base=root;
                         if(base->lchild)
                         {base=base->lchild;
                         tran(base);}
                         vis(root);
                         if(base->rchild){
                         base=base->rchild;
                         tran(base);}
                         }
main(){int ord;
       struct tnode *q,*rt,*root;
       root=rt=(tnode *)malloc(sizeof(tnode));
       rt->depth=1;
       rt->order=1;
       printf("输入第一个结点的值:");
       scanf("%d",&rt->val);
       p=q=rt;
       void ctree();
       printf("进入遍历并求深度过程!");
       tran(root);
       }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值