数据结构实验之查找三:树的种类统计
来源:互联网 发布:阿里云服务器免流教程 编辑:程序博客网 时间:2024/06/18 05:27
数据结构实验之查找三:树的种类统计
Problem Description
随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。
Input
输入一组测试数据。数据的第1行给出一个正整数N (n <= 100000),N表示树的数量;随后N行,每行给出卫星观测到的一棵树的种类名称,树的名称是一个不超过20个字符的字符串,字符串由英文字母和空格组成,不区分大小写。
Output
按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小数点后保留两位小数。
Example Input
2This is an Appletreethis is an appletree
Example Output
this is an appletree 100.00%
#include<bits/stdc++.h>using namespace std;char a[35];int n;struct Tree{ char data[35]; int num; //记录该字符串出现的次数 Tree *lchild, *rchild;};Tree *Creat(Tree *T){ if(!T){ T = new Tree; T->lchild = NULL; T->rchild = NULL; T->num = 1; strcpy(T->data, a); } else{ if(strcmp(a, T->data) == 0) T->num++; else if(strcmp(a, T->data)<0) T->lchild = Creat(T->lchild); else T->rchild = Creat(T->rchild); } return T;}void Inorder(Tree *T){ if(T){ Inorder(T->lchild); printf("%s %.2lf%%\n", T->data,(1.0*T->num*100)/n); //注意在printf里百分号也要使用%%转义 Inorder(T->rchild); }}int main(){ Tree *T =NULL; cin>>n; getchar(); //吞掉一个换行 for(int k=0; k<n; k++){ gets(a); //gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符! int len = strlen(a); for(int i=0; i<len; i++) a[i] = tolower(a[i]); //大写字母转化为小写字母的函数 T = Creat(T); } Inorder(T); return 0;}
阅读全文
0 0
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (STL)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT3375数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(二叉排序树)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- .net framework4与其client profile版本的区别
- EasyUI实例--tree的使用3
- 后台JSON接收为毫秒数,在前台页面展示yyyy-MM-dd格式
- 推荐一下github上一键集合的微信和支付宝支付
- eclipse XML 全部提示开启
- 数据结构实验之查找三:树的种类统计
- Python FIFO算法模拟
- 今天闲来无事,写一波Java数组可好?
- 用navicate premium将.csv导入mysql时出现乱码
- 20171213Link
- 语言的骨髓是逻辑
- 23、Android开发基础之通过隐式意图来实现界面的跳转
- 视图,序列,同义词,表空间
- JQuery.Ajax()的data参数类型