首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

(DS1.5.7)POJ 2136 Vertical Histogram(以统计图的方式显示每一个字母出现的次数)

2013-10-24 
(DS1.5.7)POJ 2136 Vertical Histogram(以统计图的形式显示每一个字母出现的次数)/* * POJ_2136_1.cpp * *

(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;}

热点排行