我只想说你这题意能不能说清楚点。。- -!。害的我WA了老多。我本以为是每次都是输出相同的this is an ...的。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
char s[10000],str[100000];
int main()
{
int n,m,i,j,k,l;
while(~scanf("%d",&n))
{
j=n;
map<string,int>mp;
map<string,int>::iterator cnt;
getchar();
while(j--)
{
int t=0,tmp=0;
gets(s);
l=strlen(s);
for(i=0;i<l;i++)
{
if(s[i]>='A'&&s[i]<='Z')
{
str[tmp++]=s[i]+32;
}
else
str[tmp++]=s[i];
}
str[tmp]='\0';
mp[str]++;
}
double x;
for(cnt=mp.begin();cnt!=mp.end();cnt++)
{
x=(cnt->second*100.0)/(n*1.0);
printf("%s %.2lf",cnt->first.c_str(),x);
printf("%c",'%');
printf("\n");
}
}
return 0;
}