数据结构实验之查找三:树的种类统计
来源:互联网 发布:win7新增打印机usb端口 编辑:程序博客网 时间:2024/05/17 08:11
数据结构实验之查找三:树的种类统计
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%
Hint
#include<bits/stdc++.h>
using namespace std;
int n, t;
struct node
{
char data[22];
node *l, *r;
int cet;
};
void create(node *&r, char s[])
{
if(!r)
{
r = new node;
strcpy(r->data,s);
r->cet = 1;
r->l = NULL;
r->r = NULL;
}
else
{
t = strcmp(r->data,s);
if(t > 0)
create(r->l,s);
else if(t < 0)
create(r->r,s);
else r->cet++;
}
}
void f(node *p)
{
if(p)
{
f(p->l);
printf("%s %.2lf%%\n",p->data,100.0*p->cet/n);
f(p->r);
}
}
int main()
{
int k, l, i;
cin>>k;
getchar();
n = k;
node *head = NULL;
char s[22];
while(k--)
{
gets(s);
l = strlen(s);
for(i = 0; i < l; i++)
if(s[i] >= 'A' && s[i] <= 'Z')
s[i] += 'a' - 'A';
create(head,s);
}
f(head);
return 0;
}
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (STL)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT3375数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(二叉排序树)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 动态规划之零件加工
- 小学生开始学Python,还有什么能够阻挡我对Python的向往?
- 舒服的判断当前应用是否处于前台
- Golang从入门到精通(十四):Golang结构体
- 数组 链表 哈希表
- 数据结构实验之查找三:树的种类统计
- 【剧透】2017云栖大会·北京峰会——企业云上业务优化专场
- MongoDB查询
- Js频繁操作
- 20、Android开发基础之AndroidManifest和Activity
- 【神经网络与深度学习】卷积与反卷积
- 第十一周java作业
- Python入门
- Java实现http(post、get)请求