描述
小东同学最近喜欢读英语文章.
每次读完一篇英语文章他心里就在想这样的问题
这篇文章一共有多少个字母呢?
每个字母又分别出现了多少次呢?
输入
输入数据只有一行,表示英语文章的内容,每篇文章长度不超过1000.
输出
每组测试数据包括两部分
第一部分是文章一共有多少个字母
第二部分由多行组成,每一行的格式如下
A n
表示A字母出现了n次
如果出现了多个字母时,按照ASCII码的顺序输出.
输入样例 1
Hello,World!输出样例 1
10 H 1 W 1 d 1 e 1 l 3 o 2 r 1#include<iostream> using namespace std; int main() { char ch[128] ; int cnta[27] ; int cntb[27] ; int m = 0 ; while ( cin >> ch ) { m = 0 ; for( int i = 0 ; i < 26 ; i++) { cnta[i] = 0 ; cntb[i] = 0 ; } for( int i = 0 ; ch[i] ; i++) { if( 'a' <= ch[i] && ch[i] <= 'z') { int d = ch[i] - 'a' ; cnta[d] ++ ; m ++ ; } if( 'A' <= ch[i] && ch[i] <= 'Z') { int d = ch[i] - 'A' ; cntb[d] ++ ; m ++ ; } } cout << m << endl ; for( int i = 0 ; i < 26 ; i++) { if( cntb[i] > 0 ) { cout << char('A' + i) << " " << cntb[i] << endl ; } } for( int i = 0 ; i < 26 ; i++) { if( cnta[i] > 0 ) { cout << char('a' + i) << " " << cnta[i] << endl ; } } } return 0 ; }
还有什么题需要我解答吗?