C-Programmierung nan-Ausgang

Ich bin sehr viel ein Anfänger in C Programmieren also bitte hier helfen. Ich versuche, ein Programm zu schreiben, dass loops, die den Benutzer auffordert, geben Sie eine Zahl, wenn die Zahl positiv ist, es fügt es zu der Summe, und wenn es negativ ist, beendet das Programm und zeigt den Durchschnitt, den niedrigsten input-und höchsten-Eingang. Leider egal was ich ändern mit dem low-und high-Dinge, die ich immer 'nan' für die low und was auch immer die negative Zahl für den hoch.. bitte um Hilfe!!

#include<stdio.h>
int main(void)
{
    float input;
    float total;
    float low;
    float high;
    float average;
    int count=0;

    printf("\n\nPlease enter a positive number to continue or a negative number");
    printf(" to stop: ");

    scanf("%f", &input);

    while (input > 0)
    {
        count = count + 1;
        printf("\nPlease enter a positive number to continue or a negative");
        printf(" number to stop: ");
        scanf("%f", &input);
        total = total + input;  

        if ( low < input )
        {
            ( low = input );
        }
        else
        {
            ( low = low );  
        }
    }
    if (input < high)
    {
        (high = input);
    }
    else
    {
        (high = high);
    }

    average = total / count;
    printf("\n\n\nCount=%d",count);
    printf("\n\n\nTotal=%f",total);
    printf("\nThe average of all values entered is %f\n", average);
    printf("\nThe low value entered: %f\n", low);
    printf("\nThe highest value entered: %f\n", high);
    return 0;
}

Nach dem kompilieren mit gcc und testen Sie es mit den zahlen 1, 5, 4, dann ist -1 ich bekomme die folgende Ausgabe

Count=3


Total=8.000000
The average of all values entered is 2.666667

The low value entered: nan 

The highest value entered: -1.000000
  • Sie vielleicht wollen, initialisieren Sie Ihre Variablen. Sie vergleichen gegen einen unbekannten, wenn Sie low < input weil Sie noch nicht definiert niedrige noch. Und das gleiche, wenn Sie tun input < hi. In C, Variablen sind nicht initialisiert standardmäßig.
InformationsquelleAutor Sal Z. | 2013-09-28
Schreibe einen Kommentar