Addieren und Vergleich
-
Warum sagst du es nicht gleich so?
#include <math.h> #include <float.h> #include <string.h> float average( const char *string ) { unsigned sum = 0; size_t count = 0; while( *string ) { sum += *string - '0'; ++count; ++string; } return count ? sum / ( (float) count ) : 0.0f; } int besser( const char *a, const char *b ) { float average_a = average( a ); float average_b = average( b ); if( fabsf( average_a - average_b ) < FLT_EPSILON ) { return 0; } return average_a < average_b ? -1 : 1; }
greetz, Swordfish