书籍分类
题目描述
李老师购买了若干本书籍,每本书都有一个英文名称。
为了方便管理,李老师打算按书籍名称的首字母进行分类(不区分大小写)。
由于书籍的数量比较多,李老师请你来帮他完成这个任务。
输入格式
输入数据不超过 10001000 行,每行一个字符串,对应一本书籍的名称。
说明:书籍名称只包含大写或小写字母,且长度不超过 2020。
输出格式
第一行一个整数,为所有书籍名称按首字母分类后的种类数量。
接下来每行输出一个大写字母(按字母表的顺序)和一个整数,表示以这个字母开头的书籍的数量。
样例 #1
样例输入 #1
Chinese
math
Math
chinese
english
样例输出 #1
3
C 2
E 1
M 2
这道题考的是字符桶排序
#include <bits/stdc++.h>
using namespace std;
int h[130],cnt=0;
int main()
{
string s;
while(cin>>s)
{
if(s[0]>='a' && s[0]<='z')
{
s[0]-=32;
}
if(h[s[0]]==0)
{
cnt++;
}
h[s[0]]++;
}
cout<<cnt<<endl;
for(int i='A';i<='Z';i++)
{
if(h[i])
{
cout<<char(i)<<" "<<h[i]<<endl;
}
}
return 0;
}