• 2800:垂直直方图


    2800:垂直直方图

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    输入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
    代码:
    这个题目的输出看了好久才看出来,哎、、、
    #include<stdio.h>  
    #include<iostream>
    using namespace std;
    #include<string.h>  
    int main() 
    {
        char queueofletter[26]={'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'};
        int N=4;
        char str[81];
        int i,j;
        int sum[26];
        int strcnt[100][26];
        memset(sum,0,26*sizeof(int));
        while(N--)
        {
            gets(str);
            int len=strlen(str);
            for(int t=0;t<len;t++)//统计字符个数
            {
                if(str[t]>='A'&&str[t]<='Z')
                {
                    sum[str[t]-'A']++;
                }
            }
        }
        int max=0;
        for(int t=0;t<26;t++)
        {
            if(sum[t]>max)
                max=sum[t];
        }
        for(i=max;i>0;i--)//取最大的字母个数作为行数
        {
            for(j=0;j<26;j++)//取26个字母做为列数
            {
            
                if(sum[j]>=i)//如果字母的个数大于等于纵坐标,则输出(*空格)
                {
                    printf("* ");
                }
                else//否则输出(空格 空格)
                {
                    printf("  ");
                }
                //printf("
    ");
            }
            printf("
    ");
        }
        printf("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
    ");
        return 0;  
    }
    以大多数人努力程度之低,根本轮不到去拼天赋~
  • 相关阅读:
    保存在线的PDF文件
    官网下载Java
    可执行文件(ELF)格式的理解
    虚拟机不识别U盘
    安装和连接精简版sqlserver2008
    [ZT] Linuxfs Readinglist
    分析ext2文件系统磁盘分区结构
    wma/mp3等格式转换为apple有声电子书格式(m4b) 以及itunes导入码率设置
    Progressivedownload 对于文件格式的要求
    Scaling Redis
  • 原文地址:https://www.cnblogs.com/gcter/p/7405017.html
Copyright © 2020-2023  润新知