Programmazione

  • Materia: Programmazione
  • Visto: 5516
  • Data: 07/05/2008
  • Di: Redazione StudentVille.it

Linguaggio C: media valori float

esercizio svolto o teoria

A cura di: Administrator

Scrivere un programma in linguaggio C 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

Soluzione (download sorgente)

#include <stdio.h>
#define FNUMS 10
int
main(void)
{
	int i;
	float media, totale = 0;
	float farray[FNUMS];
	for (i = 0; i < FNUMS; i++) {
		scanf("%f", &farray[i]);
		totale += farray[i];
	}
	media = totale * 1.0 / FNUMS;
	printf("Media = %.2f\n\n", media);
	for (i = (FNUMS - 1); i >= 0; i--)
		printf("%.1f\t\t% .2f\n",
                        farray[i], farray[i] - media);
	return 0;
}