Ritorna alla pagina del corso.
Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.
01: // 2. scrivere una funzione del tipo max(a,b) che restituisce il valore
02: // massimo tra a e b Implementare successivamente una seconda funzione
03: // che, sfruttando la precedente, restituisce il massimo tra 4 valori
04:
05: #include<stdio.h>
06: #include<stdlib.h>
07: #include<time.h>
08:
09: double max(double a, double b)
10: {
11: // PRIMO MODO
12: if(a > b)
13: return a;
14: else
15: return b;
16:
17: // SECONDO APPROCCIO (l'else di fatto non serve)
18: if(a > b)
19: return a;
20: return b;
21:
22: // TERZO APPROCCIO (if in linea)
23: return (a > b)? a : b;
24:
25:
26: }
27:
28: double max4(double a, double b, double c, double d)
29: {
30: return max(max(a, b), max(c, d));
31: }
32:
33: int main(int argc, char **argv){
34:
35: srand(time(NULL));
36:
37: // genero 4 numeri a virgola mobile a caso
38: double x[] = {rand()/3.14, rand()/3.14, rand()/3.14, rand()/3.14};
39:
40: printf("Il massimo tra i seguenti numeri: %g, %g, %g, %g e' %g\n", x[0], x[1], x[2], x[3], max4(x[0], x[1], x[2], x[3]) );
41:
42: return 0;
43: }
44:
45: