由题知 先序输入 中序输出
可以自己画一个二叉树来看一下比较直观
#include#include typedef struct TNode { char data; struct TNode *Lchild; struct TNode *Rchild; }TNode; //先序输入建立二叉树 void CreatTree(TNode *temp) { temp->Lchild=NULL; temp->Rchild=NULL; char c1=getchar(); temp->data=c1; if(c1=='#') { return ; } else { temp->Lchild=(TNode*)malloc(sizeof(TNode)); CreatTree(temp->Lchild); temp->Rchild=(TNode*)malloc(sizeof(TNode)); CreatTree(temp->Rchild); } } //中序输出 void PrintTree(TNode *q) { if(q->Lchild->data!='#') PrintTree(q->Lchild); printf("%c",q->data); if(q->Rchild->data!='#') PrintTree(q->Rchild); } int main() { TNode *s; s=(TNode*)malloc(sizeof(TNode)); CreatTree(s); PrintTree(s); return 0; }



