Merry Christmas from Joe!
#include <stdlib.h>
#include <stdio.h>
static void giftlist(int daynum)
{
#ifdef ubergeek
// alternate gifts by Stan Shebs
static char *gifts[] = {" C file in a source tree", "Two BSPs", "Three flag bits",
"Four system traps", "Five echoed pings",
"Six GNUs a-GRUBing", "Seven stacks unwinding",
"Eight makes a-making", "Nine users ranting",
"Ten libs a-linking", "Eleven Pythons piping",
"Twelve flashers flashing"};
#else
static char *gifts[] = {" partridge in a pear tree", "Two turtle doves", "Three French hens",
"Four calling birds", "Five golden rings", "Six geese a-laying",
"Seven swans a-swimming", "Eight maids a-milking",
"Nine ladies dancing", "Ten lords a-leaping", "Eleven pipers piping",
"Twelve drummers drumming",
};
#endif
printf("%s", gifts[daynum]);
if (daynum > 0) {
printf(",\n");
if (daynum == 1) printf("And a");
giftlist(daynum-1);
}
}
int main()
{
#ifdef ubergeek
static char source[] = "team lead";
#else
static char source[] = "true love";
#endif
static char *ordinals[] = {"first", "second", "third", "fourth", "fifth", "sixth", "seventh",
"eighth", "ninth", "tenth", "eleventh", "twelfth"
};
int daynum;
for (daynum = 0; daynum < sizeof(ordinals)/sizeof(char *); daynum++) {
printf("On the %s day of Christmas,\n", ordinals[daynum]);
printf("My %s gave to me,\n", source);
if (daynum == 0) putchar('A');
giftlist(daynum);
if (daynum < sizeof(ordinals)/sizeof(char *)-1) printf(".\n\n");
else printf("!\n");
}
return(EXIT_SUCCESS);
}
Email: pfeiffer@cs.nmsu.edu
Last modified: Fri Dec 26 14:35:09 MST 2008