C :: Aufgabe #14 :: Lösung #1
3 Lösungen

#14
Zahlen erraten lassen.
Anfänger - C
von zayc_
- 28.12.2012 um 14:08 Uhr
Programmiere ein Programm, welches eine vom User erdachte Zahl (Integer) in einem vom User angegebenen Bereich Erraten soll.
Konsolenausgabe:
Bitte Untergränze angeben: 0
Bitte Obergränze angeben: 100
Bitte geben sie nach jedem versuch R,G oder K an. je nachdem ob
R die Zahl richtig ist
G die gesuchte Zahl grösser ist
K die gesuchte Zahl kleiner ist
1. Versuch: 50.
k
2. Versuch: 25
g
3. Versuch: 37
g
4. versuch: 42
g
5. Versuch: 46
k
6. Versuch: 44
k
7. Versuch: 43
r
Die gesuchte Zahl war also die 43!
#1

von devnull (8870 Punkte)
- 07.12.2013 um 19:47 Uhr

/* guess2.c devnull,07-12-2013 */ #include <stdlib.h> #include <stdio.h> /* main */ int main() { int lower, upper; int guess, cguess; char answer[2]; printf("Bitte Untergrenze angeben: "); scanf( "%d", &lower ); printf("Bitte Obergrenze angeben : "); scanf( "%d", &upper ); if (lower >= upper) { printf("Bereich ungültig!\n"); return 1; } printf("Bitte geben sie nach jedem versuch R,G oder K an. je nachdem ob\n" \ "R die Zahl richtig ist\n" \ "G die gesuchte Zahl grösser ist\n" \ "K die gesuchte Zahl kleiner ist\n"); for (cguess=1;;cguess++) { guess = (upper + lower)/2; printf("%3d. Versuch: %4d\n", cguess, guess); scanf("%s", answer); switch (answer[0]) { case 'k': case 'K': upper = guess; break; case 'g': case 'G': lower = (upper-guess>1)?guess:guess+1; break; case 'r': case 'R': lower = upper = guess; break; } if (lower == upper) break; } printf("Die gesuchte Zahl war also die %d!\n", lower); return 0; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1