『新・明解C言語 入門編 第2版』演習問題解答例 8ー10

演習8ー10

問: List8-11のプログラムを元にして、数字文字の出現回数を、*を並べたグラフで表示するプログラムを作成せよ。List5-12や演習5-8と同じ表示を行うこと。

// Ex0810.c
#include <stdio.h>

int main(void)
{
    int i, j, ch;
    int cnt[10] = { 0 };
    
    printf("入力してください:");
    
    do {
        if (ch == '\n') {
            printf("入力してください:");
        }
        if (ch >= '0' && ch <= '9') {
            cnt[ch - '0']++;
        }
     } while ((ch = getchar()) != EOF);
    
    puts("");
    puts("数学文字の出現回数");

    for (i = 0; i < 10; i++) {
        printf("'%d' : ", i);
        for (j = 0; j < cnt[i]; j++)
            putchar('*');
        putchar('\n');
    }

    return 0;
}

コメント

 何度か入力して、終わる時に「CTRL+D」(Macの場合)と操作すれば、それまでに入力した内容の数字の数が出力されます。windwsは「CTR+Z」です。 10行目のprintfはなくしたかったけどできませんでした。

 実行例
 入力してください:abc123
 入力してください:abc123
 入力してください:abc123
 入力してください:
 数学文字の出現回数
 ’0′ :
 ’1′ : ***
 ’2′ : ***
 ’3′ : ***
 ’4′ :
 ’5′ :
 ’6′ :
 ’7′ :
 ’8′ :
 ’9′ :

 


書籍情報



Copyright (C) 2016 "HYOGOKURUMI" All Rights Reserved./「来未炳吾・平極ルミ・HYOGOKURUMI」の発達障害考察を主とした全ての発信は、相互不干渉など特別な約束をした者達を除き、どなたでもご活用できます。ただし著作権は放棄しておりません。あしからずご了承ください。詳細は著作権に関するガイドラインをご一読ください。/「HYOGOKURUMI.site」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。