Concetti Chiave

  • Il programma in linguaggio C legge 10 numeri float da tastiera e calcola la loro media.
  • Stampa ogni numero insieme alla sua differenza rispetto alla media calcolata.
  • I valori vengono visualizzati in ordine inverso rispetto a quello di acquisizione.
  • La media è visualizzata con due cifre decimali di precisione.
  • Il codice sorgente è disponibile per il download per un'implementazione diretta.

Scrivere un [url=http://corsiadistanza.polito.it/corsi/pdf/04ECMN/pdf/F1-030125.

Esempio di esecuzione

pdf#search='programma :pdf']programma in linguaggio C[/url] che, letti da tastiera 10 numeri float, stampi:

  • la media dei valori (float)
  • ciascun valore con a fianco la sua differenza rispetto alla media, i valori devono essere visualizzati in ordine inverso rispetto a quello di acquisizione
Esempio: se si introducono nell'ordine i valori:
4.1  2.0  2.9  4.8  5.2  2.8  7.3  1.7  9.0  1.5
Il programma deve stampare:
 Media = 4.13 1.5        -2.63 9.0         4.87 1.7        -2.43 ...         ... 4.1        -0.03 
Soluzioneone (download sorgente)
 #include  #define FNUMS 10 int main(void) { 	int i; 	float media, totale = 0; 	float farray[FNUMS]; 	for (i = 0; i scanf("%f", &farray); 		totale += farray; 	} 	media = totale * 1.0 / FNUMS; 	printf("Media = %.2f

", media); for (i = (FNUMS - 1); i >= 0; i--) printf("%.1f % .2f

", farray, farray - media); return 0; }

Domande da interrogazione

  1. Qual è l'obiettivo principale del programma in linguaggio C descritto nel testo?
  2. L'obiettivo del programma è leggere 10 numeri float da tastiera, calcolare la loro media e stampare ciascun valore con la sua differenza rispetto alla media, visualizzando i risultati in ordine inverso rispetto a quello di acquisizione.

  3. Come viene calcolata la media dei valori nel programma?
  4. La media viene calcolata sommando tutti i valori letti e dividendo il totale per il numero di valori (10), come indicato nel testo: "media = totale * 1.0 / FNUMS".

  5. Qual è la struttura del ciclo utilizzato per stampare i risultati?
  6. Il ciclo utilizza un indice che parte dall'ultimo elemento dell'array e scende fino al primo, stampando ogni valore insieme alla sua differenza rispetto alla media, come mostrato nel codice: "for (i = (FNUMS - 1); i >= 0; i--)".

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community