C Language exercises 1-14, Language exercises 1-14
Exercise 1-14 compile a program to print the histogram of the occurrence frequency of each character in the input.
1 #include <stdio.h> 2 3 /* count digits, white space, others */ 4 5 int main(int argc, char const *argv[]) 6 { 7 int c, i, j, nwhite, nother; 8 int ndigit[10]; 9 10 nwhite = nother = 0;11 for (i = 0; i < 10; ++i) {12 ndigit[i] = 0;13 }14 15 while ((c = getchar()) != EOF) {16 if (c >= '0' && c <= '9') {17 ++ndigit[c-'0'];18 } else if (c == ' ' || c == '\n' || c == '\t') {19 ++nwhite;20 } else {21 ++nother;22 }23 }24 25 for (i = 0; i < 10; ++i) {26 printf("%d:", i);27 for (j = 0; j < ndigit[i]; ++j) {28 printf("*");29 }30 printf("\n");31 }32 printf("w:");33 for (i = 0; i < nwhite; ++i) {34 printf("*");35 }36 printf("\no:");37 for (i = 0; i < nother; ++i) {38 printf("*");39 }40 printf("\n");41 42 return 0;43 }