描述
林静究竟在忙什么?暑假没有回家,现在打电话到他宿舍总是不在,郑微通过他的舍友给他留了自己的电话,也不见他回复。明明上火车的前两天郑微还跟林静通过电话,他在那一头答应得好好的,等她到了广州,他就会带她到处去玩,吃遍广州的小吃,当时郑微没有感觉到丝毫的异样,就连他的笑声也是一如既往地带着她熟悉的宠溺和宽容。
可是现在郑微没忘记两人的约定,林静却踪影全无。难道是她打错了电话?不可能!那个电话她倒着也能背出来,何况那边接电话的舍友明明也是认得林静的,只是说他不在。
不在不在,老是不在!还说是个模范好学生,不知道跑到哪鬼混去了!郑微气鼓鼓地想,等到见了面,非把他数落一顿不可。
有点不高兴的郑薇手里拿着一封已经封上了口的信,里面写满了她想对林静说的话,但此时的她小心将信封撕开,想再看一遍写下时的那份甜蜜。
你要做的就是对一篇文章的字母进行统计。 而文章是由好多行字母,空格,标点组成的每行不会超过72个字符,请打印一个统计直方图来统计每个字母出现的次数 (不统计空行,数字,标点)。
输入
输入一份郑薇的甜言蜜语,只含有大小写字符,空格,标点。
输出
打印这一份甜蜜的统计图,具体如样例(最后不要空行)。
输入样例 1
Amazing grace! How sweet the sound! That saved a wretch like me! I once was lost but now I am found, Was blind but now I see.
输出样例 1
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
#include <bits/stdc++.h>
using namespace std;
int main()
{
map<char,int> mp;
for(int i=0; i<26; i++) mp['A'+i]=0;
string line,word;
/*for(int i=0;i<4;i++){
getline(cin,line);*/ //取消注释并将while行注释查看输出结果
while(getline(cin,line)){
stringstream ss(line); //将输入的line读入ss中
//cout<<ss.str()<<endl; //查看ss的输出
while(ss>>word) //将ss中的单个字符串读入word中
{
transform(word.begin(), word.end(), word.begin(), ::toupper);//将字符串字符全
//转成大写的函数
for(int i=0; i<word.size(); i++)
{
if(word[i]>='A'&&word[i]<='Z') mp[word[i]]++;
}
}
}
int mx=0;
for(int i=0; i<26; i++)
{
mx=max(mx,mp['A'+i]); //得到出现次数最多的字符的个数
}
for(int i=mx; i>0; i--,mx--)
{
for(int i=0; i<26; i++)
{
if(mp['A'+i]==mx)
{
cout<<"*";
mp['A'+i]--;
}
else cout<<" ";
if(i<=24)cout<<" ";
}
cout<<endl;
}
cout<<"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"<<endl;
return 0;
}