数据结构实验之查找三:树的种类统计
2016-08-19 15:30
232 查看
数据结构实验之查找三:树的种类统计
Time Limit: 400ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入
输入一组测试数据。数据的第1行给出一个正整数N (n <= 100000),N表示树的数量;随后N行,每行给出卫星观测到的一棵树的种类名称,树的名称是一个不超过20个字符的字符串,字符串由英文字母和空格组成,不区分大小写。输出
按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小数点后保留两位小数。示例输入
2 This is an Appletree this is an appletree
示例输出
this is an appletree 100.00%
提示
来源
xam示例程序
#include<bits/stdc++.h> using namespace std; struct node { char str[22]; int cou;//标记 node *l,*r; }; int n; node *create(node *Head,char *s) { if(!Head) { Head=new node; Head->cou=1;//标记为1 strcpy(Head->str,s); Head->l=NULL; Head->r=NULL; } else { int cmp=strcmp(Head->str,s);//比较 if(cmp > 0) Head->l=create(Head->l,s); else if(cmp<0) Head->r=create(Head->r,s); else Head->cou++;//标记++ } return Head; } void Mid(node *p) { if(p) { Mid(p->l); printf("%s %.2lf%c\n",p->str,p->cou*100.0/n,'%'); Mid(p->r); } } int main() { node *p = NULL; char str[22]; scanf("%d\n",&n); for(int j=0;j<n;j++) { gets(str); for(int i=0; str[i]; i++) { if(str[i] >='A'&& str[i]<='Z')//转为小写 str[i]+=32; } p = create(p,str); } Mid(p); return 0; }
相关文章推荐
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(先排序树再中序遍历)
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 3375 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 3375-数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (STL)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT 3375 数据结构实验之查找三:树的种类统计
- SDUT OJ 数据结构实验之查找三:树的种类统计
- SDTU(3375)数据结构实验之查找三:树的种类统计
- 暑假集训 8.12 sdutoj3375 数据结构实验之查找三:树的种类统计 (简单字符排序二叉树)
- 数据结构实验之查找三:树的种类统计
- SDUT-3375 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计