Ciao a tutti ragazzi. Devo fare un esercizio assegnato dal professore di informatica. Premetto che siamo a metà corso e quindi parecchi concetti sono stati assimilati da me ma, non so per quale strano motivo, non riesco a scrivere questo programmino, probabilmente molto semplice.
Il testo è questo:
"Scrivere un programma C che legga in input da tastiera un numero reale N e successivamente numeri interi finché entrambe le seguenti condizioni sono rispettate a. La media dei numeri acquisiti è superiore al valore di N b. Sono stati acquisiti meno di 10 numeri."
Questo è il codice che ho scritto. Il problema è il crearsi di un loop infinito.
Potreste aiutarmi a trovare l'errore per favore?
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float N;
int a, i, media;
printf("Scrivi un numero reale: ");
scanf("%f", &N);
printf("Inserisci un numero intero: ");
scanf("%d", &media);
i = 2;
while ((i < 10) || (media < N))
{
printf("Scrivi un numero intero: ");
scanf("%d", &a);
++i;
media = (media + a)/i;
}
printf("\n\n");
printf("Ciclo completato");
return 0;
}