Codice dei programmi nella directory:
///File: EsercizioIndovinaIlNumero.txt
Il bambino pensa un numero.
Il computer lo deve indovinare.
Il computer chiede al bambino: Hai pensato un numero fra 1 e ..-> (il bambino digita, ad es, 100)
Il computer poi propone un numero al bambino e lui risponde con un -1 se il numero
che aveva pensato era piu' piccolo, +1 se il numero pensato era piu' grande, 0 se il computer
ha indovinato.
///(Fine file: EsercizioIndovinaIlNumero.txt)
///File: IndovinaIlNumero.c
#include <stdio.h>
//Autore:F. Sacco - Data ultima modifica 27-10-2025
//Breve descrizione del programma:
//Il computer lo deve indovinare.
//Il computer chiede al bambino: Hai pensato un numero fra 1 e ..-> (il bambino digita, ad es, 100)
//Il computer poi propone un numero al bambino e lui risponde con un -1 se il numero
//che aveva pensato era piu' piccolo, +1 se il numero pensato era piu' grande, 0 se il computer
//ha indovinato.
#include <stdio.h>
int main()
{
int minimo=1, massimo, pensato, tentativi=0, ok=0; /* se ok == 1 ho il PC ha indovinato */
printf("Hai pensato un numero fra 1 e -->");
scanf("%d",&massimo);
do {
pensato=(massimo+minimo)/2;
tentativi++;
printf("Hai pensato il numero %d ?\n",pensato);
printf("digita [0] se OK, [-1] se hai pensato a un numero minore, [+1] se maggiore\n");
printf("scrivi 0 oppure -1 oppure 1 ->");
scanf("%d",&ok);
if (ok == -1) massimo=pensato-1;
else if (ok == 1) minimo=pensato+1;
else if (ok ==0) printf("Ho indovinato in %d tentativi!!!\n",tentativi);
else printf("Errore, digita -1, 0 o 1 !!\n"); // errore di inserimento
} while (ok!=0); // se ok e' zero il computer ha indovinato
return 0;
}
///(Fine file: IndovinaIlNumero.c)