数据结构实验之查找三:树的种类统计
来源:互联网 发布:ettercap for windows 编辑:程序博客网 时间:2024/06/06 03:08
Think:
直接用排序树解题就行, 注意的是不分大小写, 所以要进行字符串的判断处理, 同时要注意 输入时的回车键,也要进行处理。
Problem Description
随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。
Input
输入一组测试数据。数据的第1行给出一个正整数N (n <= 100000),N表示树的数量;随后N行,每行给出卫星观测到的一棵树的种类名称,树的名称是一个不超过20个字符的字符串,字符串由英文字母和空格组成,不区分大小写。
Output
按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小数点后保留两位小数。
Example Input
2
This is an Appletree
this is an appletree
Example Output
this is an appletree 100.00%
#include<iostream>#include<cstdio>#include<string.h>#include<algorithm>using namespace std;struct node{ char str[1050]; int cnt; struct node *l, *r;};int n;int kk = '%';struct node *Insert(struct node *head, char *temp);void zhonxu(struct node *head);int main(){ char temp[1050]; while(~scanf("%d\n", &n)) { struct node *head; head = NULL; memset(temp, 0, sizeof(temp)); for (int k = 0; k <= n - 1; k ++) { gets(temp); int d = strlen(temp); for (int i = 0; i <= d - 1; i ++) { if (temp[i] >= 'A' && temp[i] <= 'Z') temp[i] = temp[i] + 32; } head = Insert(head , temp); } zhonxu(head); }}struct node *Insert(struct node *head, char *temp){ if(head == NULL) { head = new node; head -> cnt = 1; strcpy(head -> str, temp); head -> l = head -> r = NULL; } else { int k = strcmp(temp, head -> str); if (k > 0) head -> r = Insert(head -> r, temp); if (k < 0) head -> l = Insert(head -> l, temp); if (k == 0) head -> cnt ++; } return head;};void zhonxu(struct node *head){ if (head) { zhonxu(head -> l); printf("%s %.2lf%c\n", head -> str, (head -> cnt * 100.0) / n, kk); zhonxu(head -> r); }}
阅读全文
0 0
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (STL)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT3375数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(二叉排序树)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- linux下ffmpeg安装
- 步进电机的技术参数 控制及其应用
- Python3之super关键字
- 初步认识jenkins
- jQuery选择器
- 数据结构实验之查找三:树的种类统计
- HDU-3404 Switch lights(NIM积)
- eiditplus初学前端之四
- DAO设计模式简介
- MySQL出现Waiting for table metadata lock的原因以及解决方法
- 刷新页面缓存动作
- 如何调试异步加载的js文件
- Token和session
- Missing artifact jdk.tools:jdk.tools:jar:1.8的解决方法