Exercise 1.13 - Horizontal Histogram¶
Question¶
Write a program to print a histogram of the lengths of words in its input. It is easy to draw the histogram with the bars horizontal.
Solution¶
/**
*
* Print a horizontal histogram of words in the input.
*
**/
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
if (c == ' ' || c == '\n' || c == '\t')
putchar('\n');
else
putchar('*');
}
return 0;
}
Explanation¶
We desire the histogram like the following.
If the input is I love C programming
The output should be.:
*
****
*
***********
The way it is accomplished in the above program, read each character using getchar, if it is special character like a space, tab or newline, go to next line by printing n otherwise print a * character.