📄 叶子结点统计程序.txt
字号:
/*test5.c*/
#include <stdio.h>
#include <stdlib.h>
typedef char DataType; /*设数据域类型为字符型*/
typedef struct node{
DataType data;
struct node *lchild,*rchild; /*左右链域为指向结点结构的指针类型*/
}BinTNode; /*结点类型*/
typedef BinTNode *BinTree; /*指向二叉树结点的指针类型*/
int count; /*全局变量用于统计结点个数*/
void CreateBinTree(BinTree *T);
void Leafnum(BinTree T);
main()
{BinTree T;
char ch1,ch2;
printf("\n欢迎进入二叉树基本操作测试程序,请选择:\n");
ch1='y';
while(ch1=='y' || ch1=='Y')
{printf("\nA-------------------------二叉树建立");
printf("\nB-------------------------求叶子数");
printf("\nC-------------------------退出\n");
scanf("\n%c",&ch2);
switch(ch2)
{case 'a':
case 'A':printf("请输入按先序建立二叉树的结点序列:\n");
CreateBinTree(&T);break;
/*****************************************************************/
case 'b':
case 'B':请考生填写(1) /*初始count,用于统计叶结点数目*/
printf("该二叉树有%d个叶子。\n",count);
break;
/*****************************************************************/
case 'c':
case 'C':ch1='n';break;
default:ch1='n';
}
}
}
void CreateBinTree(BinTree *T)
{/*以加入结点的先序序列输入,构造二叉链表*/
char ch;
scanf("\n%c",&ch);
if (ch=='0') *T=NULL; /*读入0时,将相应结点置空*/
else {*T=(BinTNode*)malloc(sizeof(BinTNode)); /*生成结点空间*/
(*T)->data=ch;
/*********************************************************/
请考生填写(2)
/*********************************************************/
}
}
void Leafnum(BinTree T)
{/*统计二叉树T中叶子结点的数目*/
if (T)
/************************************************/
{请考生填写(3)
}
/************************************************/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -