even_loop.c

 Code:

#include <stdio.h>
int main(void) {
    // print even numbers between 27 and 63
    for (int e = 28; e <= 62; e = e + 2) {
        printf("%d\n", e);
    }
}
 Another valid solution:

#include <stdio.h>
int main(void) {
    // print even numbers between 27 and 63
    for (int n = 27; n <= 63; n++) {
        if (n % 2 == 0) { 
            printf("%d\n", n);
        }
    }
}

The first solution knows that even numbers are separate by 2, and so does "skip-counting", increasing the variable e by 2 each time through the loop and always printing out the value.

The second solution runs through all the numbers from 27 to 63, increasing the variable n by 1 each time through the loop. Then in the body of the loop it tests whether n is even or not, and only prints the number if it is even.

Terminal window:

davidrhmiller@ide50:~/workspace/meeting_3_prework $ make even_loop
clang -ggdb3 -O0 -std=c11 -Wall -Werror -Wshadow    even_loop.c  -lcs50 -lm -o even_loop
davidrhmiller@ide50:~/workspace/meeting_3_prework $ ./even_loop
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58
60
62
Comments