标签:
描述
输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。注意:只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。
输入
输入包括4行由大写字母组成的文本,每行上字符的数目不超过80个。
输出
输出包括若干行。其中最后一行给出26个大写英文字母,这些字母之间用空格隔开。前面的几行包括空格和星号,每个字母出现几次,就在这个字母的上方输出一个星号。注意:输出的第一行不能是空行。
样例输入
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HISTOGRAM PROGRAM. HELLO!
样例输出
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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
1 #include<iostream> 2 using namespace std; 3 4 int main() { 5 int ch[26] = {}; 6 char a; 7 while(cin >> a) { 8 if(isalpha(a)) 9 ch[a-‘A‘]++; 10 } 11 int max=0; 12 for(int i=0; i<26; i++) { 13 if(ch[i]>max) 14 max=ch[i]; 15 } 16 for(int i=max; i>0; i--) { 17 for(int j=0; j<26; j++) { 18 if(ch[j]==i) { 19 cout << "* "; 20 ch[j]--; 21 } 22 else 23 cout << " "; 24 } 25 cout<< "\n"; 26 } 27 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\n"; 28 return 0; 29 }
水
标签:
原文地址:http://www.cnblogs.com/liangyongrui/p/4293500.html