A una seconda liceo scientifico viene chiesto di scrivere un programma che stampi 50 numeri interi tra 1 e 100, generati casualmente, e ne trovi il minimo.
Patrick scrive questo programma:
#include#include #include int main() { int min,num; int i=1; min=1; srand(time(NULL)); while(i <= 50) { num=(rand()%100)+1; printf(" > %d: %d\n", i, num); if(num < min) min=num; i=i+1; } printf("Minimo: %d\n", min); return 0; } Patrick ha però fatto un errore clamoroso.
Quale è il minimo valore da assegnare inizialmente alla variabile min perché il programma funzioni correttamente?
Soluzione: 100.
Se inizialmente min=1, il risultato finale sarà sempre 1.
Qualsiasi valore superiore a quelli nell'intervallo [1..100] (101, 102, ...) correggerebbe l'errore.
La richiesta specifica però il minimo valore perché il programma funzioni, quindi è 100.