数据结构实验之查找三:树的种类统计
来源:互联网 发布:复杂网络建模基本概念 编辑:程序博客网 时间:2024/05/20 13:10
数据结构实验之查找三:树的种类统计
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%
Hint
1不区分大小写,所以把大写全部转化成小写
2输入一个数,下一行输入字符串的情况:一定注意换行!!!如果忽略会把它当做要输入的字符串
3输出%,用转义字符输出 %%
本题:
二叉树排序建树 + 中序遍历
#include<bits/stdc++.h>using namespace std;struct node{ int num; char data[25]; node *l, *r;};node *root;char name[22];int n;node *creat(node *p, char *name){ if(!p) { p = new node; p->num = 1;///数目为1 p->l = p->r = NULL; strcpy(p->data, name); } else { int t = strcmp(name, p->data); if(t == 0) p->num++; else if(t > 0) p->r = creat(p->r, name); else p->l = creat(p->l, name); } return p;}void inorder(node *p){ if(p) { inorder(p->l); printf("%s %.2lf%%\n", p->data, (p->num)*100*1.0 / n);///记住要输出百分号 inorder(p->r); }}int main(){ cin>>n; getchar(); root = NULL; for(int k = 0; k < n; k++)///用while时出错,除非加上m = n,--->while(m--)才正确 { gets(name); int l = strlen(name); for(int i = 0; i < l; i++) { if(name[i] >= 'A' && name[i] <= 'Z') name[i] += 32; } root = creat(root, name); } inorder(root); return 0;}
阅读全文
0 0
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计 (STL)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUT3375数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- SDUTACM 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计(二叉排序树)
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- 数据结构实验之查找三:树的种类统计
- leetcode在线编程---树(java)
- Studio One 3.5.4 for Mac(音乐制作软件)附注册机 V3.5.4中文破解版
- Sublime Text 3 装了Anaconda 写Python代码出现框框的解决办法
- Ubuntu14.04系统10分钟搭建JavaWeb常用运行环境(jdk+tomcat+mysql+phpmyadmin)
- 推荐系统中的矩阵分解
- 数据结构实验之查找三:树的种类统计
- Interceptor登录拦截(Spring拦截器)
- (二十一)套接字
- 知识学习——Hadoop MapReduce开发入门程序WordCount详解
- cas配置
- 《人类简史》读书笔记(分析阅读)
- 二分搜索树的删除节点操作
- java
- 13个能快速开发android的经典项目