Blob


1 /* Write a program to print a histogram of the frequencies of
2 * different characters in its input. */
4 #include <stdio.h>
5 #define CHARSIZE 256
7 main()
8 {
9 int histogram[CHARSIZE], c, maxfreq;
11 for (int i = 0; i < CHARSIZE; ++i)
12 histogram[i] = 0;
14 maxfreq = 0;
16 while ((c = getchar()) != EOF) {
17 ++histogram[c];
18 }
19 for (int i = '0'; i <= '9'; ++i) {
20 printf("%c: %6d\n", i, histogram[i]);
21 }
22 for (int i = 'A'; i <= 'Z'; ++i) {
23 printf("%c: %6d\n", i, histogram[i]);
24 }
25 for (int i = 'a'; i <= 'z'; ++i) {
26 printf("%c: %6d\n", i, histogram[i]);
27 }
28 /*
29 ++histogram[letters];
31 for (int i = 1; i <= MAXLENGTH; ++i) {
32 printf("%2d: %5d", i, histogram[i]);
33 for (int j = 0; j < histogram[i]; ++j) {
34 printf("=");
35 }
36 printf("\n");
38 maxfreq = (histogram[i] > maxfreq ? histogram[i] : maxfreq);
39 }
40 printf("\n\n");
41 for (int h = maxfreq; h > 0; --h) {
42 for (int i = 1; i <= MAXLENGTH; ++i) {
43 if (histogram[i] >= h) {
44 printf(" | ");
45 } else {
46 printf(" ");
47 }
48 }
49 printf("\n");
50 }
51 for (int i = 1; i <= MAXLENGTH; ++i) {
52 printf("===");
53 }
54 printf("\n");
55 for (int i = 1; i <= MAXLENGTH; ++i) {
56 printf("%2d ",i);
57 }
58 printf("\n");
59 */
60 }