close

原文

中文

如果不懂<vector>可參考,這裡


C++

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;

int main()
{
	int i,n;
	vector<string> vs;
	string is1;
	
	cin>>n;//輸入測資數量 
	getline(cin,is1);//cin接getline會有問題,要多打一次 
	getline(cin,is1);//取得空一行 
	
	while(n--)//輸入測資數量 
	{
		vs.clear();//重製陣列 
		double sum=0,count=1,p;
		
		while(getline(cin,is1)&&is1!="")//輸入測資 
		{
			vs.push_back(is1);
		}
		
		sort(vs.begin(),vs.end());//排列 
		sum=vs.size();//取得總數 
		
		for(i=0;i<sum;i++)
		{
			if(vs[i]==vs[i+1])//如果相同的名字不用輸出 
			{				  
				count++;//計算次數加1 
			}
			else if(vs[i]!=vs[i+1])//不同名字,計算面積比例並輸出 
			{
				p=(count/sum)*100;//計算面積比例 
				cout<<fixed<<setprecision(4);//精確到小數點下四位 
				cout<<vs[i]<<" "<<p<<endl;//輸出 
				count=1;//重製 
			}
		}
		
		if(n!=0)//最後一組測資不用換行 
		{
			cout<<endl;
		}
	}
    return 0;
}
 
arrow
arrow
    文章標籤
    UVa一星題 Hardwood species
    全站熱搜
    創作者介紹
    創作者 豪CO 的頭像
    豪CO

    程式道路,必為豐富

    豪CO 發表在 痞客邦 留言(0) 人氣()