博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7-24 树种统计(25 分)(二叉排序的应用)
阅读量:5884 次
发布时间:2019-06-19

本文共 1884 字,大约阅读时间需要 6 分钟。

随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。

输入格式:

输入首先给出正整数N(105​​),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。

输出格式:

按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。

输入样例:

29Red AlderAshAspenBasswoodAshBeechYellow BirchAshCherryCottonwoodAshCypressRed ElmGumHackberryWhite OakHickoryPecanHard MapleWhite OakSoft MapleRed OakRed OakWhite OakPoplanSassafrasSycamoreBlack WalnutWillow

输出样例:

Ash 13.7931%Aspen 3.4483%Basswood 3.4483%Beech 3.4483%Black Walnut 3.4483%Cherry 3.4483%Cottonwood 3.4483%Cypress 3.4483%Gum 3.4483%Hackberry 3.4483%Hard Maple 3.4483%Hickory 3.4483%Pecan 3.4483%Poplan 3.4483%Red Alder 3.4483%Red Elm 3.4483%Red Oak 6.8966%Sassafras 3.4483%Soft Maple 3.4483%Sycamore 3.4483%White Oak 10.3448%Willow 3.4483%Yellow Birch 3.4483%
 
1 #include
2 #include
3 #include
4 5 typedef struct TNode *Position; 6 typedef Position BinTree; 7 struct TNode 8 { 9 char data[35];10 BinTree left;11 BinTree right;12 int count;13 };14 BinTree Insert( BinTree BT , char name[]);15 void Print( BinTree BT , int n);16 int main()17 {18 int n;19 int i;20 BinTree BT = NULL;21 22 scanf("%d",&n);23 getchar();24 for( i=0; i
data,name);40 BT->count=1;41 BT->left = BT->right =NULL;42 }43 else{44 int a = strcmp( BT->data,name);45 if( a<0 ) BT->right = Insert( BT->right,name);46 47 else if( a>0 ) BT->left=Insert( BT->left,name);48 else BT->count++;49 }50 return BT;51 }52 53 void Print( BinTree BT , int n)54 {55 if( !BT ) return;56 else{57 Print( BT->left,n);58 printf("%s ",BT->data);59 printf("%.4f%%\n",(double)BT->count/n*100.0);60 Print( BT->right,n);61 }62 }

 

转载于:https://www.cnblogs.com/yuxiaoba/p/8408619.html

你可能感兴趣的文章
eclipse智能配置
查看>>
安装Scrapy遇到的问题处理
查看>>
个人作业——软件产品案例分析
查看>>
Java学习:方法重载的使用规则
查看>>
ASP.NET MVC 防止CSRF攻击
查看>>
EF:无法检查模型兼容性,因为数据库不包含模型元数据。
查看>>
0和5
查看>>
C# WinFrom一些技术小结
查看>>
hdu5001 Walk 概率DP
查看>>
模拟select控件&&显示单击的坐标&&用户按下键盘,显示keyCode
查看>>
Mac-OSX下Ruby更新
查看>>
jsp九个内置对象
查看>>
[Python笔记][第一章Python基础]
查看>>
Bloomberg SEP 12.x 迁移小记
查看>>
生日小助手V1.1发布了——拥有更整齐的信息列表
查看>>
代理模式
查看>>
Qt 学习(1)
查看>>
MFC CEdit改变字体大小的方法
查看>>
java 中文数字排序方法
查看>>
centos 关于防火墙的命令
查看>>