Listing 5

#include <stdio.h>
#include <string.h>

#define NUMELEM(a) (sizeof(a)/sizeof(a[0]))

main()
{
   char list[][7] = {
      "red",
      "blue",
      "yellow",
      "green"
   };
   int i, j;
   char temp[7];

   for (i = NUMELEM(list) - 2; i >= 0; --i) {
      for (j = 0; j <= i; ++j) {
         if (strcmp(list[j], list[j + 1]) > 0) {
            strcpy(temp, list[j]);
            strcpy(list[j], list[j + 1]);
            strcpy(list[j + 1], temp);
         }
      }
   }

   for (i = 0; i < NUMELEM(list); ++i)
      printf("%s\n", list[i]);
}