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
4.1 2.0 2.9 4.8 5.2 2.8 7.3 1.7 9.0 1.5Il programma deve stampare:
Media = 4.13 1.5 -2.63 9.0 4.87 1.7 -2.43 ... ... 4.1 -0.03Soluzioneone (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
- Qual è l'obiettivo principale del programma in linguaggio C descritto nel testo?
- Come viene calcolata la media dei valori nel programma?
- Qual è la struttura del ciclo utilizzato per stampare i risultati?
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.
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".
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--)".