(DS1.5.7)POJ 2136 Vertical Histogram(以统计图的形式显示每一个字母出现的次数)
/* * POJ_2136_1.cpp * * Created on: 2013年10月24日 * Author: Administrator */#include <iostream>#include <string>//要使用getline(cin,str),最好加上这两个头文件,否则很可能会CE#include <fstream>using namespace std;int main(){int charNum[27];memset(charNum,0,sizeof(charNum));int i,j;string str;//求每个字母出现的次数for(i = 0 ; i < 4 ; ++i){getline(cin,str);for(j = 0 ; j < str.size() ; ++j){if(isupper(str[j])){charNum[str[j] - 'A']++;}}}//求出现次数最多的int max = -1;for(i = 0 ; i < 26; ++i){if(charNum[i] > max){max = charNum[i];}}//打印星矩阵for(i = 0 ; i < max ; ++i){for(j = 0 ; j < 26 ; ++j){if(charNum[j] >= (max-i)){cout<<"* ";}else{cout<<" ";}}cout<<endl;}//打印26个字母cout<<"A ";for(i = 1 ; i < 26 ; ++i){cout<<char('A' + i)<<" ";}cout<<endl;return 0;}