1126: 第二章:我們都有夢想

//很久之前寫的,入個檔
1126: 第二章:我們都有夢想
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 500 Solved: 161
[Submit][Status][Web Board]
Description

林靜究竟在忙什麼?暑假沒有回家,現在打電話到他宿舍總是不在,鄭微通過他的舍友給他留了自己的電話,也不見他回覆。明明上火車的前兩天鄭微還跟林靜通過電話,他在那一頭答應得好好的,等她到了廣州,他就會帶她到處去玩,吃遍廣州的小吃,當時鄭微沒有感覺到絲毫的異樣,就連他的笑聲也是一如既往地帶着她熟悉的寵溺和寬容。
  可是現在鄭微沒忘記兩人的約定,林靜卻蹤影全無。難道是她打錯了電話?不可能!那個電話她倒着也能背出來,何況那邊接電話的舍友明明也是認得林靜的,只是說他不在。
  不在不在,老是不在!還說是個模範好學生,不知道跑到哪鬼混去了!鄭微氣鼓鼓地想,等到見了面,非把他數落一頓不可。

有點不高興的鄭薇手裏拿着一封已經封上了口的信,裏面寫滿了她想對林靜說的話,但此時的她小心將信封撕開,想再看一遍寫下時的那份甜蜜。

你要做的就是對一篇文章的字母進行統計。 而文章是由好多行字母,空格,標點組成的每行不會超過72個字符,請打印一個統計直方圖來統計每個字母出現的次數 (不統計空行,數字,標點)。

Input

輸入一份鄭薇的甜言蜜語,只含有大小寫字符,空格,標點。

Output

打印這一份甜蜜的統計圖,具體如樣例(最後不要空行)。

Sample Input

Amazing grace! How sweet the sound!
That saved a wretch like me!
I once was lost but now I am found,
Was blind but now I see.

Sample Output

         *                                          
            *                                          
    *       *                                          
    *       *                             *            
    *       *                 * *       * *     *      
    *       *       *         * *       * *     *      
    *       *       *         * *       * *     *      
    *     * *     * *         * *       * * *   *      
    * * * * *     * *     * * * *       * * *   *      
    * * * * *   * * *     * * * *     * * * *   *      
    * * * * * * * * *   * * * * *     * * * * * *     *

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

HINT

出國的林靜並沒有告訴鄭薇任何消息。

AC_code:
Source

#include <stdio.h>
#include <string.h>
int a[100];
char c[100][100];
char b[100000];
int main()
{
    memset(a,0,sizeof(a));
    memset(b,'\0',sizeof(b));
    memset(c,' ',sizeof(c));
    const char e[] ="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 k = 0,h;
    while((h = scanf("%c",&b[k++]))!=EOF);
    for(int i = 0; b[i] !='\0'; i++)
    {
        if(b[i] >= 'A'&& b[i] <= 'Z')
        {
            a[b[i]-'A']++;
        }
        else if(b[i] >= 'a'&& b[i] <= 'z')
        {
            a[b[i]-'a']++;
        }
    }
    int max_c = a[0];
    for(int i = 1; i< 26; i++)
        if(a[i] > max_c) max_c = a[i];
    int f = 0;
    for(int j =0; j < 51; j+=2)
    {
        for(int i = max_c-1; ; )
        {
            while(a[f]--)
            {
                c[i--][j] = '*';
            }
            if(a[f] == -1) break;
        }
        f++;
        if(f > 26) break;
    }
    for(int i = 0; i < max_c; i++)
    {
        for(int j = 0; j < 51; j++)
            printf("%c",c[i][j]);
        printf("\n");
    }
    for(int i = 0; e[i]!='\0'; i++)
        printf("%c",e[i]);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章