Geben Sie außerdem an, wie viele Werte um weniger als 10% vom Mittelwert abweichen.
/* Header-Datei einbinden */
#include <stdio.h>
#define MAX_N 3 /* Anzahl der Zahlen */
int main(void) /* hier beginnt das Hauptprogramm */
{
int anzahl, i;
double zahlen[MAX_N], min, max, mittel;
for (i = 0; i < MAX_N; i++)
{
printf("%d.zahl eingeben:", i + 1);
scanf("%lf", &zahlen[i]); /* Zahl einlesen */
}
min = max = mittel = zahlen[0]; /* 1. Zahl in min,max und mittel schreiben */
for (i = 1; i < MAX_N; i++)
{
if (zahlen[i] < min) /* Wenn die zuletzt eingegebene Zahl kleiner als */
min = zahlen[i]; /* min ist, dann der Wert (min) merken. */
if (zahlen[i] > max) /* Wenn die zuletzt eingegebene Zahl größer als */
max = zahlen[i]; /* max ist, dann den Wert (max) merken. */
mittel += zahlen[i]; /* mittel=mittel+zahlen[i] (für den Mittelwert) */
}
mittel /= MAX_N; /* mittel durch die Anzahl der Zahlen teilen, Ergebnis ist dann der Mittelwert */
printf("Minimum : %lf\n", min); /* Minimalwert ausgeben */
printf("Maximum : %lf\n", max); /* Maximalwert ausgeben */
printf("Mittelwert: %lf\n", mittel); /* Mittelwert ausgeben */
anzahl = 0;
for (i = 0; i < MAX_N; i++)
{
/* überprüft, ob die Zahl weniger als 10% vom Mittelwert abweicht */
if (zahlen[i] < 0)
{
if ((zahlen[i] < (mittel - (mittel / 10))) && (zahlen[i] > (mittel + (mittel / 10))))
anzahl++;
}
else
{
if ((zahlen[i] > (mittel - (mittel / 10))) && (zahlen[i] < (mittel + (mittel / 10))))
anzahl++;
}
/* ist der Mittelwert=0 und die Zahl=0 dann die Anzahl+1 */
if ((mittel == 0) && (zahlen[i] == 0))
anzahl++;
}
printf("Anzahl der Werte, die weniger als 10%% vom Mittelwert abweichen: %d\n", anzahl);
return(0); /* Das Hauptprogramm gibt am Ende 0 zurück, da kein Fehler aufgetreten ist. */
}