Ich versuche, ein Programm zu entwerfen, das den Durchschnitt einer beliebigen Anzahl von Gleitkommazahlen bis EOF berechnet. Das Programm sollte auch prüfen, ob die Eingabe korrekt war und "Falsche Eingabe" zurückgeben, wenn z.B. Eingabe einer Zeichenfolge Der Code, den ich geschrieben habe, funktioniert, aber es gibt falsche Ausgaben für den Durchschnitt. Kann mir jemand sagen warum?Korrekte Verwendung von scanf() in C, falsche Ausgabe
#include <stdio.h>
int main(void) {
int times = 0;
float sum = 0;
float scan;
float avrg;
int scanvalue = 1;
while (scanvalue == 1) {
scanvalue = scanf("%f", &scan);
sum = sum + scan;
times++;
}
if (scanvalue == EOF) {
avrg = sum/times;
printf("The average is %f\n", avrg);
} else {
printf("Wrong input");
}
return 0;
}
Mit freundlichen Grüßen.
Können Sie ein Beispiel Ein- und Ausgabe geben? – Marievi
Ich vermute, * falsche Verwendung von 'scanf()' korrekte Ausgabe *, die wiederum war natürlich ** unerwartet **. –
Was ist Ihr System und Compiler? Mit welchem Schlüssel streichst du die Eingabe? –