http://www.pronix.de -> Forum -> Knobelecke

Forum: Knobelecke

Moderatoren: broesel, juergen

Thema: Finde die 12!

Re: Finde die 12!

saschakb am 15.04.2011 um 17:08

Ich weiß ja, das es schon vorbei ist ... ich wollte nur meine Lösung kurz vorstellen.
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