#include <stdio.h>
#include <stdlib.h>
#define max 12
typedef struct BinTree {int a[12];
struct BinTree *left;
struct BinTree *right;
}BinTree;BinTree *bt=NULL;
BinTree *BinTreeInit(BinTree *bt)
{if(bt==NULL)
return NULL;
else
return bt;
}
void visit(BinTree *bt){
printf("%d\n",bt->a[12]);}
int SearchLeaf(BinTree *bt){//计算叶子数
if(bt==NULL)
return 0;
else if(bt->left==NULL&&bt->right==NULL)
return 1;
else return(SearchLeaf(bt->left)+SearchLeaf(bt->right));}
void Inorder(BinTree *bt){//中序遍历二叉树
if(bt!=NULL){
Inorder(bt->left);
visit(bt);
Inorder(bt->right);
}
}
struct main()
{
int i;
int a[12]={15,27,17,65,44,32,36,5,78};
BinTree *bt;
scanf("%d",&a[12]);
for(i=0;i<12;i++)
Inorder(bt);
SearchLeaf(bt);
return bt->a[12];
printf("叶子节点个数为:SearchLeaf(bt)\n");
}
#include <stdlib.h>
#define max 12
typedef struct BinTree {int a[12];
struct BinTree *left;
struct BinTree *right;
}BinTree;BinTree *bt=NULL;
BinTree *BinTreeInit(BinTree *bt)
{if(bt==NULL)
return NULL;
else
return bt;
}
void visit(BinTree *bt){
printf("%d\n",bt->a[12]);}
int SearchLeaf(BinTree *bt){//计算叶子数
if(bt==NULL)
return 0;
else if(bt->left==NULL&&bt->right==NULL)
return 1;
else return(SearchLeaf(bt->left)+SearchLeaf(bt->right));}
void Inorder(BinTree *bt){//中序遍历二叉树
if(bt!=NULL){
Inorder(bt->left);
visit(bt);
Inorder(bt->right);
}
}
struct main()
{
int i;
int a[12]={15,27,17,65,44,32,36,5,78};
BinTree *bt;
scanf("%d",&a[12]);
for(i=0;i<12;i++)
Inorder(bt);
SearchLeaf(bt);
return bt->a[12];
printf("叶子节点个数为:SearchLeaf(bt)\n");
}

