-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbsp-time-rand.c
71 lines (57 loc) · 1.4 KB
/
bsp-time-rand.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
bsp-time-rand.c
Kleines Beispiel fuer: rand(), srand(), time() etc.
fhdwbap 09.04.2008, 16.11.2017
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MODVALUE 10000 // Bereich der Zufallszahlen 0..MODVALUE-1
int main(int argc, char *argv[])
{
unsigned long i, anzahl, summe = 0L, wert, min, max;
double average;
time_t sec;
if (argc!=2)
{
fprintf(stderr,"Aufruf: zufall <anzahl> \n");
return EXIT_FAILURE;
}
anzahl = atoi(argv[1]);
printf("Anzahl: %lu\n",anzahl);
if (anzahl <= 0)
{
fprintf(stderr,"Fehler: \"anzahl\" muss groesser 0 sein!\n");
return EXIT_FAILURE;
}
/* Initialisieren des Zufallszahlengenerators */
time(&sec);
printf("Datum und Uhrzeit (GMT): %s %u\n", asctime(gmtime(&sec)),(unsigned int)sec);
srand(sec);
summe = 0L;
for (i=0; i<anzahl; i++)
{
wert = rand() % MODVALUE;
if (i==0)
{
min = max = wert;
}
printf("Zufallswert Nr. %5ld: %6lu\n",i+1,wert);
summe += wert;
if (max < wert)
{
max = wert;
}
if (min > wert)
{
min = wert;
}
}
average = (double)summe / (double)anzahl;
printf("\nStatistik:\n");
printf("Summe: %13lu\n",summe);
printf("Mittelwert: %16.2lf\n",average);
printf("Minimum: %13lu\n",min);
printf("Maximum: %13lu\n",max);
return EXIT_SUCCESS;
}