数据结构实验之查找三:树的种类统计
来源:互联网 发布:网络密匙 编辑:程序博客网 时间:2024/06/04 00:48
数据结构实验之查找三:树的种类统计
Time Limit: 400MS Memory Limit: 65536KB
Submit Statistic
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%
思路:设置一个字符数组,输入时别忘了用getchar来存回车,输入一个字符数组作为植物的名称存下来,用strcpy来复制名字,用strcmp来判断两种植物的大小,最后利用中序遍历输出字典序,head->cut表示所占数量,除以n表示所占比重。注意大小写是一样的
#include<bits/stdc++.h>using namespace std;struct node { char name[22]; int cnt; node *l,*r; }; int n; node *creat(node*head,char *s) { if(!head) { head=new node; head->cnt=1; strcpy(head->name,s); head->l=NULL; head->r=NULL; } else { int cmp=strcmp(head->name,s); if(cmp>0) { head->l=creat(head->l,s); } else if(cmp<0) { head->r=creat(head->r,s); } else { head->cnt++; } } return head; } void mid(node *head) { if(head) { mid(head->l); printf("%s %.2lf%c\n",head->name,head->cnt*100.0/n,'%'); mid(head->r); } } int main() { node *head=NULL; char w[22]; cin>>n; getchar();///输入的回车也算了一个字符 for(int j=0;j<n;j++) { gets(w); for(int i=0;w[i];i++) { if(w[i]>='A'&&w[i]<='Z') { w[i]+=32; } } head=creat(head,w); } mid(head); return 0; }
阅读全文
0 0
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (STL)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT3375数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(二叉排序树)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 大数据相关组件概述
- 什么是SoC?什么是IP核?它们有什么关系?
- 折半查找和顺序查找
- java 编程技巧
- 08-mysql.docx
- 数据结构实验之查找三:树的种类统计
- 利用metasploit通过ms_08_067_netapi漏洞渗透winXp
- Day016
- jQuery中的load
- spring mvc 5.0 模型视图详解 07
- 09-mysql多表查询
- linux 命令(一)
- P1387 dp入门
- TabLayout+ViewPager实现tab和页面联动效果