7-24 树种统计(25 分)
来源:互联网 发布:js获取asp控件的值 编辑:程序博客网 时间:2024/05/16 18:51
7-24 树种统计(25 分)
随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。
输入格式:
输入首先给出正整数N(≤105),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。
输出格式:
按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。
输入样例:
29Red AlderAshAspenBasswoodAshBeechYellow BirchAshCherryCottonwoodAshCypressRed ElmGumHackberryWhite OakHickoryPecanHard MapleWhite OakSoft MapleRed OakRed OakWhite OakPoplanSassafrasSycamoreBlack WalnutWillow
输出样例:
Ash 13.7931%Aspen 3.4483%Basswood 3.4483%Beech 3.4483%Black Walnut 3.4483%Cherry 3.4483%Cottonwood 3.4483%Cypress 3.4483%Gum 3.4483%Hackberry 3.4483%Hard Maple 3.4483%Hickory 3.4483%Pecan 3.4483%Poplan 3.4483%Red Alder 3.4483%Red Elm 3.4483%Red Oak 6.8966%Sassafras 3.4483%Soft Maple 3.4483%Sycamore 3.4483%White Oak 10.3448%Willow 3.4483%Yellow Birch 3.4483%
我的代码(解法一):
#include<iostream>#include<string.h>using namespace std;#define MAXN 100000#define MAXS 30typedef struct node{char name[MAXS+1];int cnt;node* lchild;node* rchild;} *Bintree;Bintree insert(Bintree t,char* name){int cmp;if(!t){t=new node;strcpy(t->name ,name);t->cnt =1;t->lchild = t->rchild = NULL;}else{cmp=strcmp(name ,t->name);if(cmp<0)t->lchild = insert(t->lchild ,name);else if(cmp>0)t->rchild = insert(t->rchild ,name);elset->cnt++;}return t;}void output(Bintree t,int n){if(!t)return ;output(t->lchild ,n);printf("%s %.4f%%\n",t->name ,(double)t->cnt/n*100.0);output(t->rchild ,n);}void destroy(Bintree t){if(t){destroy(t->lchild );destroy(t->rchild );delete t;}}int main(){int n,m,i;char name[MAXS+1];Bintree t=NULL;scanf("%d\n",&n);for(i=0;i<n;i++){gets(name);t=insert(t,name);}output(t,n);destroy(t);return 0;}
我的代码(解法二):
#include<iostream>#include<map>#include<set>#include<string>using namespace std;set<string>s;set<string>::iterator it;map<string,int>p;int main(){int n,i;string x;scanf("%d%*c",&n);for(i=0;i<n;i++){getline(cin,x);s.insert(x);p[x]++;}for(it=s.begin();it!=s.end();it++){cout<<*it<<" ";double a=p[*it],b=n;printf("%.4f%%\n",a/b*100);}return 0;}
阅读全文
0 0
- 7-24 树种统计(25 分)
- 7-24 树种统计(25 分)
- 树种统计(25 分)
- 5-24 树种统计 (25分)
- 5-24 树种统计 (25分)
- PTA-数据结构 5-24 树种统计 (25分)
- 5-12 树种统计 (25分)
- 7-12 树种统计(25 point(s))(BST)
- 5-24 树种统计
- 5-24 树种统计
- 7-12 树种统计
- 树种统计
- 树种统计
- 树种统计
- 5-24 树种统计 (二叉搜索树)
- PTA 树种统计
- 树种统计 静态内存 排序树
- PTA5-2 树种统计(map+vector+unique)
- 朴素贝叶斯分类器——理论
- PowerShell实现简单的grep功能
- xml 读写
- jQuery length 和 size()区别
- Java 标准 I/O 流编程一览笔录
- 7-24 树种统计(25 分)
- -bash: ls: command not found 或ifconfig ,su 等命令不能使用
- TCP分段与IP分片
- Spark算子总结(带案例)
- C++ primer——函数学习
- JFreeChart中文乱码解决方案
- ionic+anjularjs点击图片放大
- ImportError: No module named lmdb解决办法
- 规则推理算法:Treat