
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node{
char data[10];
struct node*left,*right;
}BTree,*Bitree;
void inorder(Bitree T,int deep){
if(T==NULL) return;
if(T->left==NULL&&T->right==NULL){
printf("%s",T->data);
}else{
if(deep>0){
printf("(");
}
inorder(T->left,deep+1);
printf("%s",T->data);
inorder(T->right,deep+1);
if(deep>0){
printf(")");
}
}
}
void print(Bitree T){
int deep=0;
inorder(T,deep);
}
int main(){
Bitree T;
T=(Bitree)malloc(sizeof(BTree));
strcpy(T->data,"*");
BTree *l1;
l1=(Bitree)malloc(sizeof(BTree));
strcpy(l1->data,"+");
BTree *l2;
l2=(Bitree)malloc(sizeof(BTree));
strcpy(l2->data,"a");
BTree *l3;
l3=(Bitree)malloc(sizeof(BTree));
strcpy(l3->data,"b");
BTree *r1;
r1=(Bitree)malloc(sizeof(BTree));
strcpy(r1->data,"c");
T->left=l1;
T->right=r1;
l1->left=l2;
l1->right=l3;
l2->left=NULL;
l2->right=NULL;
l3->left=NULL;
l3->right=NULL;
r1->left=NULL;
r1->right=NULL;
print(T);
return 0;
}