POJ 2136

来源:互联网 发布:android linux 广告机 编辑:程序博客网 时间:2024/04/29 13:13
//POJ 2136
//从输入文件读取四行大写字母组成的文本输入
//并输出一个垂直柱状图显示
//画统计图是自上而下,自左而右。
//自上而下指的是按频率递减顺序处理每一行
//自左而右指的是按序数递增处理当前行的每一个字母


#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
int main()
{
    int cnt[26]={0}, maxc=0,length=0;
    char c[72];
    for(int i=0;i<4;++i)
    {
        gets(c);
        length=strlen(c);
        for(int j=0; j<length;++j) //统计字母的个数
        {
            switch(c[j])
            {
              case 'A':++cnt[0];continue;
              case 'B':++cnt[1];continue;
              case 'C':++cnt[2];continue;
              case 'D':++cnt[3];continue;
              case 'E':++cnt[4];continue;
              case 'F':++cnt[5];continue;
              case 'G':++cnt[6];continue;
              case 'H':++cnt[7];continue;
              case 'I':++cnt[8];continue;
              case 'J':++cnt[9];continue;
              case 'K':++cnt[10];continue;
              case 'L':++cnt[11];continue;
              case 'M':++cnt[12];continue;
              case 'N':++cnt[13];continue;
              case 'O':++cnt[14];continue;
              case 'P':++cnt[15];continue;
              case 'Q':++cnt[16];continue;
              case 'R':++cnt[17];continue;
              case 'S':++cnt[18];continue;
              case 'T':++cnt[19];continue;
              case 'U':++cnt[20];continue;
              case 'V':++cnt[21];continue;
              case 'W':++cnt[22];continue;
              case 'X':++cnt[23];continue;
              case 'Y':++cnt[24];continue;
              case 'Z':++cnt[25];continue;
              default:break;
            }
        }
    }
    maxc=cnt[0];
    for(int i=1;i<=25;++i)     //最高频率
    {
        if(maxc<cnt[i])
        {
            maxc=cnt[i];
        }
    }
    cout<<"Max: "<<maxc<<endl;




    for(int i=1;i<=maxc;++i)   //自上而下
    {
        for(int j=0;j<26;++j)  //自左而右
        {
           if(cnt[j]>maxc-i)
           {
               cout<<"* ";
           }
           else
           {
               cout<<"  ";
           }


        }
        cout<<endl;
    }
    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"<<endl;
    return 0;
}
原创粉丝点击