求调
  • 板块灌水区
  • 楼主hjsxhst2022
  • 当前回复9
  • 已保存回复9
  • 发布时间2023/7/7 19:58
  • 上次更新2023/11/3 11:08:50
查看原帖
求调
745903
hjsxhst2022楼主2023/7/7 19:58
#include<bits/stdc++.h>
using namespace std;
struct tree{
	string name;
	int sl;
};
tree a[10002];
bool cmp(tree x,tree y){
	return x.name<y.name;
}
int main(){
	string n;
	int sum=0;
	while(getline(cin,n)){
        n[n.size()-1]=' ';
		bool qaq=0;
		for(int i=0;i<sum;i++){
			if(a[i].name==n){
				a[i].sl++;
				qaq=1;
				break;
			}
		}
		if(!qaq){
            sum++;
			a[sum].name=n;
			a[sum].sl++;
		}
	}
	sort(a,a+sum,cmp);
	for(int i=0;i<sum;i++){
		cout<<a[i].name;
		cout<<fixed<<setprecision(4)<<a[i].sl*100.0/sum<<endl;
	}
}
在我国,大片的森林里面有着许多不同种类的树木。现在,国家林业局需要统计某片森林里,某种种类的树木占所有树木数量的百分比。

输入
数据输入为通过卫星观察到的我国某片森林的树木种类名单,每行一个字符串,表示一棵树的树木种类名称,树木种类名称不超过30个字符,中间可能有空格,头尾没有空格,字符包括字母、数字等可见字符,数据中有不超过10,000种不同的树木种类,和不超过1,000,000棵的树。

输出
对于每组测试数据,按字典序输出所有不同的树木种类名称,紧跟着该种类的树木占所有树木数量的百分比,保留小数点后四位有效数字,中间用空格分开。
2023/7/7 19:58
加载中...