题意:
输入多行字符序列(直至停止输入),输出各个字符串出现的概率,相同的字符串只输出一次。
思路:
用map<string,int>
解题心得:
整体的输入的模式以前没见过;string的包含空格字符串的输入方法
代码:
#include<stdio.h>
#include<iostream>
#include<string>
#include<map>
using namespace std;
map<string,int> maper;
int main()
{
char a[40];
int sum=0;
while(gets(a))
{
maper[a]++;
sum++;
}
map<string,int>::iterator it;
for(it=maper.begin();it!=maper.end();it++)
{
cout<<it->first<<" ";
printf("%.4f\n",100.0*it->second/sum);
}
return 0;
}