Forum: Knobelecke
Moderatoren: broesel, juergenThema: Finde die 12!
Re: Finde die 12!
saschakb am 15.04.2011 um 17:08
Der Clou war, eine möglichst kurze Schleife, oder?
#include <stdio.h>
#include <stdlib.h>
int main ( void ) {
int c=0, // erhält das einzugebende Zeichen
anzahl=0, // zählt die anfahlenden Zwölfen
first=0; // eine "Trickvariable" um die eingegebene 1 festzuhalten
printf("Das folgende Programm soll ermitteln, wie oft die Ziffernfolge\n");
printf("12 eingegeben worden ist.\n");
printf("Zum Beenden bitte ein EOF erzeugen (z.B. per STRG+D oder CTRL+M)!\n");
printf("Ihr Eingabe: ");
for(; // leere Initialisierungsliste, zur Konformität mit C90
EOF != (c=getchar()); // Holt das nächste Zeichen
anzahl += ((first==1) && (c=='2')) ? 1 : 0, // addiert eins bei jeder 12 hinzu
first = (c=='1') //? 1 : 0
)
; // leerer Schleifenkörper - kürzer geht's dann nicht mehr ;-)
printf("\nVielen Dank für's mitmachen!");
printf("Die Ziffernfolge 12 ist %d mal vorgekommen.\n", anzahl);
return EXIT_SUCCESS; // Konformität
}
Das wäre dann eine 0-Schleife. Die // Kommentare habe ich aufgrund einer besseren Übersichtlichkeit gewählt.
--
http://saschakb.tumblr.com
Fork me on Github: https://github.com/saschakb
