Blame


1 5dc21454 2023-07-14 jrmu /*
2 5dc21454 2023-07-14 jrmu 1-8. Write a program to count blanks, tabs, and newlines.
3 5dc21454 2023-07-14 jrmu 1-9. Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank.
4 5dc21454 2023-07-14 jrmu 1-10. Write a program to copy its input to its output, replacing each tab by \t, each backspace by \b, and each backslash by \\. This makes tabs and backspaces visible in an unambiguous way.
5 5dc21454 2023-07-14 jrmu */
6 5dc21454 2023-07-14 jrmu
7 5dc21454 2023-07-14 jrmu #include <stdio.h>
8 5dc21454 2023-07-14 jrmu
9 5dc21454 2023-07-14 jrmu main()
10 5dc21454 2023-07-14 jrmu {
11 5dc21454 2023-07-14 jrmu int c, blanks, tabs, nl;
12 5dc21454 2023-07-14 jrmu
13 5dc21454 2023-07-14 jrmu blanks = 0, tabs = 0, nl = 0;
14 5dc21454 2023-07-14 jrmu while ((c = getchar()) != EOF) {
15 5dc21454 2023-07-14 jrmu if (c == '\n') {
16 5dc21454 2023-07-14 jrmu ++nl;
17 5dc21454 2023-07-14 jrmu } else if (c == '\t') {
18 5dc21454 2023-07-14 jrmu ++tabs;
19 5dc21454 2023-07-14 jrmu } else if (c == ' ') {
20 5dc21454 2023-07-14 jrmu ++blanks;
21 5dc21454 2023-07-14 jrmu }
22 5dc21454 2023-07-14 jrmu }
23 5dc21454 2023-07-14 jrmu printf("blanks: %d, tabs: %d, newlines: %d\n", blanks, tabs, nl);
24 5dc21454 2023-07-14 jrmu }