How can I make a floating point comparison function for use with qsort?

Previous The C Language Next

Q: How I can define a comparison function for sorting an array of floats using qsort function:
A: Here is a simple example (called "Sort Floats"):
// Sort a list of floating point values

#define USE_TI89              // Compile for TI-89
#define USE_TI92PLUS          // Compile for TI-92 Plus
#define USE_V200              // Compile for V200

#define MIN_AMS 100           // Compile for AMS 1.00 or higher
#define SAVE_SCREEN           // Save/Restore LCD Contents

#include <tigcclib.h>         // Include All Header Files

// Comparison Function
CALLBACK short flt_comp(const void *a, const void *b)
{
  return fcmp (*(const float*)a, *(const float*)b);
}

// Main Function
void _main(void)
{
  float list[5] = {2.5, 3.18, 1.42, 4.0, 3.25};
  int i;
  clrscr ();
  qsort (list, 5, sizeof (float), flt_comp);
  for (i = 0; i < 5; i++)
    printf ("%f\n", list[i]);
  ngetchx ();
}