C Zahlenfolgen einlesen?
Schreiben Sie ein Programm, das eine Folge von positiven Zahlen einliest. Mit der Zahl 0 wird die Folge abgebrochen, dann wird die zweitgrößte Zahl dieser Folge ausgegeben.
Das ist die aufgabe, aber wie kann ich die zahlen einlesen, weil ich müsste ja für jede ein variable anlegen und ich weiss nicht wieviele zahlen es werden?
2 Antworten
Du brauchst dir nur zwei Zahlen zu merken. Einmal die aktuell Größte und ebenso die aktuell Zweitgrößte. Bei jeder neuen Eingabe werden beide neu ausgewertet. Kleinere Zahlen werden verworfen, denn sie sind für das Endresultat ja nicht relevant.
Eine Möglichkeit, dieses Programm zu schreiben, ist die Verwendung einer Schleife. Sie könnten eine Schleife verwenden, die so lange läuft, bis die Eingabe 0 ist. In jeder Iteration der Schleife könnten Sie die Eingabe einlesen und in einer Liste speichern. Sobald die Eingabe 0 ist, könnten Sie die Liste sortieren und dann die zweitgrößte Zahl ausgeben.
Code (Nicht getestet) => https://pastebin.com/G1nh0Lm6