8a511f9bd6ce682baa1f03cc214341d93b5e974a
[fizzbuzz.git] / c / fizzbuzz2.c
1 #include <stdio.h>
2 #include <assert.h>
3 enum {
4     MIN = 1,
5     MAX = 100,
6     FIZZNUM = 3,
7     BUZZNUM = 5,
8 };
9
10 int main()
11 {
12     assert(MIN <= FIZZNUM && MIN <= BUZZNUM);
13     int i, fizz, buzz;
14
15     for(i = fizz = buzz = MIN; i <= MAX; i++, fizz++, buzz++) {
16         fizz = (fizz == FIZZNUM) ? 0 : fizz;
17         buzz = (buzz == BUZZNUM) ? 0 : buzz;
18         if(fizz == 0 && buzz == 0) {
19             puts("FizzBuzz");
20         } else if(fizz == 0) {
21             puts("Fizz");
22         } else if(buzz == 0) {
23             puts("Buzz");
24         } else {
25             printf("%d\n", i);
26         }
27     }
28     return 0;
29 }