/*
|
/*
|
* main.c -- main program
|
* main.c -- main program
|
*/
|
*/
|
|
|
|
|
#include "types.h"
|
#include "types.h"
|
#include "stdarg.h"
|
#include "stdarg.h"
|
#include "iolib.h"
|
#include "iolib.h"
|
|
|
|
|
#define MAX_BEER 99
|
#define MAX_BEER 99
|
|
|
|
|
char *t = "bottle";
|
char *t = "bottle";
|
char *b = "of beer";
|
char *b = "of beer";
|
char *w = "on the wall";
|
char *w = "on the wall";
|
char *m = "more";
|
char *m = "more";
|
|
|
|
|
void beer(int n) {
|
void beer(int n) {
|
char *s;
|
char *s;
|
|
|
s = (n == 1 ? "" : "s");
|
s = (n == 1 ? "" : "s");
|
printf("%d %s%s %s %s, ", n, t, s, b, w);
|
printf("%d %s%s %s %s, ", n, t, s, b, w);
|
printf("%d %s%s %s.\n", n, t, s, b);
|
printf("%d %s%s %s.\n", n, t, s, b);
|
n--;
|
n--;
|
s = (n == 1 ? "" : "s");
|
s = (n == 1 ? "" : "s");
|
printf("Take one down and pass it around, ");
|
printf("Take one down and pass it around, ");
|
if (n == 0) {
|
if (n == 0) {
|
printf("no %s", m);
|
printf("no %s", m);
|
} else {
|
} else {
|
printf("%d", n);
|
printf("%d", n);
|
}
|
}
|
printf(" %s%s %s %s.\n\n", t, s, b, w);
|
printf(" %s%s %s %s.\n\n", t, s, b, w);
|
}
|
}
|
|
|
|
|
void main(void) {
|
void main(void) {
|
int i;
|
int i;
|
|
|
for (i = MAX_BEER; i > 0; i--) {
|
for (i = MAX_BEER; i > 0; i--) {
|
beer(i);
|
beer(i);
|
}
|
}
|
printf("No %s %ss %s %s, ", m, t, b, w);
|
printf("No %s %ss %s %s, ", m, t, b, w);
|
printf("no %s %ss %s.\n", m, t, b);
|
printf("no %s %ss %s.\n", m, t, b);
|
printf("Go to the store and buy some %s, ", m);
|
printf("Go to the store and buy some %s, ", m);
|
printf("%d %ss %s %s.\n", MAX_BEER, t, b, w);
|
printf("%d %ss %s %s.\n", MAX_BEER, t, b, w);
|
}
|
}
|
|
|