66 lines
1.9 KiB
C
66 lines
1.9 KiB
C
/*Die Aufgabe: "Zahlen-Jongleur"
|
|
|
|
Schreibe ein Programm, das eine vom Benutzer festgelegte Anzahl an Zufallszahlen generiert. Das Programm soll für jede Zahl entscheiden, ob sie gerade oder ungerade ist, und am Ende einige statistische Werte ausgeben.
|
|
|
|
Anforderungen:
|
|
|
|
Erstelle eine Funktion analysiereZahlen(int anzahl).
|
|
|
|
Diese Funktion soll anzahl Zufallszahlen im Bereich von 1 bis 100 generieren.
|
|
|
|
Für jede generierte Zahl soll auf der Konsole ausgegeben werden, ob sie gerade oder ungrade ist.
|
|
|
|
Am Ende der Funktion sollen die Summe aller generierten Zahlen sowie der Durchschnitt (als Fließkommazahl) ausgegeben werden.
|
|
|
|
Verwende rand() zur Erzeugung der Zahlen und den Modulo-Operator % zur Prüfung der Parität.
|
|
*/
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
|
|
// --- HIER die Funktion analysiereZahlen ergänzen ---
|
|
void analysiereZahlen(int anzahl);
|
|
|
|
// --------------------------------------------------
|
|
|
|
int main() {
|
|
int menge;
|
|
|
|
// Initialisierung des Zufallszahlengenerators mit der aktuellen Zeit
|
|
srand((unsigned int)time(NULL));
|
|
|
|
printf("Wie viele Zufallszahlen sollen generiert werden? ");
|
|
if (scanf("%d", &menge) != 1 || menge <= 0) {
|
|
printf("Bitte gib eine positive Ganzzahl ein.\n");
|
|
return 1;
|
|
}
|
|
|
|
printf("\nStarte Analyse von %d Zahlen:\n", menge);
|
|
printf("------------------------------------\n");
|
|
|
|
analysiereZahlen(menge);
|
|
|
|
printf("------------------------------------\n");
|
|
printf("Analyse beendet.\n");
|
|
|
|
return 0;
|
|
}
|
|
|
|
void analysiereZahlen(int anzahl)
|
|
{
|
|
unsigned int summe = 0;
|
|
|
|
for(int i = 0; i < anzahl; i++)
|
|
{
|
|
unsigned int zufallszahl = rand() % 100 + 1;
|
|
|
|
if(zufallszahl % 2 == 0)
|
|
printf("Die Zahl %d ist gerade.\n", zufallszahl);
|
|
else
|
|
printf("Die Zahl %d ist ungerade.\n", zufallszahl);
|
|
|
|
summe += zufallszahl;
|
|
}
|
|
|
|
printf("Durchschnitt: %lf.\n", (double)summe / anzahl);
|
|
} |