数据结构实验之查找三:树的种类统计
来源:互联网 发布:手机rmvb视频剪辑软件 编辑:程序博客网 时间:2024/06/04 19:22
数据结构实验之查找三:树的种类统计
Time Limit: 400MS Memory limit: 65536K
题目描述
随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。
输入
输入一组测试数据。数据的第1行给出一个正整数N (n <= 100000),N表示树的数量;随后N行,每行给出卫星观测到的一棵树的种类名称,树的名称是一个不超过20个字符的字符串,字符串由英文字母和空格组成,不区分大小写。
输出
按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小数点后保留两位小数。
示例输入
2This is an Appletreethis is an appletree
示例输出
this is an appletree 100.00%
提示
来源
xam
示例程序
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>using namespace std;int n;struct node{ char c[30]; int num; struct node * l; struct node * r;};struct node * creat(struct node * p, char *s){ if(p == NULL) { p = (struct node *)malloc(sizeof(struct node)); strcpy(p->c, s); p->num = 1; p->l = NULL; p->r = NULL; } else if(strcmp(p->c, s) > 0) p->l = creat(p->l, s); else if(strcmp(p->c, s) < 0) p->r = creat(p->r, s); else if(strcmp(p->c, s) == 0) p->num++; return p;};void mid(struct node * p){ if(p) { mid(p->l); printf("%s %.2lf%c\n",p->c,p->num*100.0/n,'%'); mid(p->r); }}int main(){ struct node * Tree = NULL; char s[30]; cin >> n; getchar(); for(int j = 0; j < n; j++) { cin.getline(s, 30); for(int i = 0; s[i] != '\0'; i++) { if(s[i] >= 'A' && s[i] <= 'Z') s[i] = s[i] + 32; } Tree = creat(Tree, s); } mid(Tree); return 0;}
0 0
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (STL)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT3375数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(二叉排序树)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- leetcode 24 Swap Nodes in Pairs
- Python--psutil
- Too many open files
- Linux下PHP加速器APC的安装与配置
- 欢迎使用CSDN-markdown编辑器(CSDN自动提供)
- 数据结构实验之查找三:树的种类统计
- 为何专利总是抓不到对手侵权?-Capability Claim对直接侵权的影响
- VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)
- yii2数据库查询操作
- Dinic算法(网络流,最大流)
- 求最大公约数
- MyEclipse优化
- Tomcat hangs on Deploying web application directory
- Java中创建(实例化)对象的五种方式