小テスト (6月24日)


文字の頻度分布

最初にファイル名を入力し、 そのファイルの中に出現するアルファベット (A-Z, a-z)の数を数え、 それを表示するプログラムを作れ。

例えば、 gettysburg.txtのアルファベットの数を 数えてみよ。

#include <stdio.h>

int main(void)
{
    char filename[100];
    FILE *fp;

    scanf("%s", filename);

    fp = fopen(filename, "r");
    if (fp == NULL) {
        fprintf(stderr, "cannot open %s\n", filename);
        return 1;
    }

    /* このへんを書く */
    
    fclose(fp);

    return 0;
}
実行例。
$ ./a.out 
gettysburg.txt
a: 102, b: 13, c: 31, d: 58, e: 165, f: 26, g: 27, h: 80, i: 65, j: 0, k: 3, l: 42, m: 13, n: 76, o: 93, p: 15, q: 1, r: 79, s: 44, t: 124, u: 21, v: 24, w: 26, x: 0, y: 10, z: 0, 
A: 0, B: 1, C: 0, D: 0, E: 0, F: 1, G: 1, H: 0, I: 3, J: 0, K: 0, L: 0, M: 0, N: 1, O: 0, P: 0, Q: 0, R: 0, S: 0, T: 2, U: 0, V: 0, W: 2, X: 0, Y: 0, Z: 0, 
$

小テスト (6月24日) /