Linguaggio C – Esercizi svolti su iterazioni e Array monodimensionali
Indovinare un numero intero casuale (funzioni rand e srand) costituito da un numero di cifre scelto dall’utente.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include<time.h>
/*
La funzione rand() restituisce un numero casuale
compreso fra 0 e RAND_MAX
(una costante maggiore di 2^15).
La funzione srand usa il numero passato come seme
per inizializzare il generatore di numeri casuali.
La funzione time() (con argomento NULL) fa parte
della libreria <time.h> e restituisce
il tempo attuale in secondi trascorsi dalla
mezzanotte del 1/1/1970.
L'operazione di modulo % serve per restringere
il range di valori; ad esempio, rand() % 10
limita il range all'intervallo [0; 9].
*/
main() {
short NumeroCifre, ValoreRange;
int NumeroInput, NumeroCasuale;
do {
printf("\nInserire il numero di cifre "
"del Numero da indovinare (max 3): ");
scanf("%d", &NumeroCifre);
} while (NumeroCifre == 0 || NumeroCifre>3);
ValoreRange=pow(10, NumeroCifre);
srand(time(NULL));
NumeroCasuale = rand( ) %ValoreRange;
printf("\nNumero Casuale %d: ", NumeroCasuale);
do {
printf("\n\nIndovinare il Numero: ");
scanf("%d", &NumeroInput);
if (NumeroInput == NumeroCasuale)
printf("-- Indovinato!! --\n");
else
printf("-- Numero errato. Riprovare. --\n");
} while (NumeroCasuale != NumeroInput);
}
Visite: 2932
sabato 10 Luglio - 2021