/* Esercizi con iterazioni */ /* Realizzare un programma in linguaggio C che accetta dall'utente un numero intero positivo n, seguito da n numeri interi e calcola tra di essi il valore massimo, quello minimo e la loro media. */ #include int main() { int index, n, x, minimo, massimo; float media, somma; /* IPOTESI: la sequenza di input non causa overflow nella variabile somma! */ printf("Numeri da sommare \n(Inserisci un intero N >= 1): "); scanf("%d", &n); printf("Inserisci N numeri interi:\n--> "); scanf("%d", &x); somma = minimo = massimo = x; for(index=2; index <= n; ++index) { printf("\n--> "); scanf("%d", &x); somma += x; if (x < minimo) minimo = x; if (x > massimo) massimo = x; } /* attenzione dichiarando somma come intero si poteva usare una conversione al momento dell'uso con l'istruzione: media = (float) somma / n; */ media = somma / n; printf("\nMASSIMO=%15d\nMINIMO=%16d\nMEDIA=%17.6f", massimo, minimo, media); return (0); } /* Data una sequenza di 10 numeri interi introdotti da tastiera, realizzare un programma in linguaggio C che calcoli la massima differenza (in valore assoluto) tra 2 numeri consecutivi in sequenza. Esempio: Sia la sequenza introdotta la seguente: 8 15 22 123 9 23 45 23 45 2 La massima differenza e' tra i numeri 123 e 9 ed e' pari a 114. */ #include #include /* #include */ #define LUNGHEZZA_SEQUENZA 10 int main() { int index, massima_differenza = 0, valore_corrente, valore_successivo, differenza_corrente; printf("Inserisci %d numeri interi please!: \n", LUNGHEZZA_SEQUENZA); scanf("%d", &valore_corrente); for(index=2; index <= LUNGHEZZA_SEQUENZA; index++) { scanf("%d", &valore_successivo); differenza_corrente = abs(valore_successivo - valore_corrente); if (massima_differenza < differenza_corrente) massima_differenza = differenza_corrente; valore_corrente = valore_successivo; } printf("\n\nLa massima differenza tra due numeri consecutivi e' %d \n", massima_differenza); return (0); } /* Sia data una costante CENTRO che indica il centro e una costante N che indica l'altezza di un albero di Natale. Disegnare un albero di Natale alto N, di centro CENTRO e fatto di tutti asterischi. Per CENTRO = 10 e N=7 si avra': * *** ***** ******* ********* *********** ************* */ #include #define CENTRO 10 #define N 7 int main() { int riga, colonna; for(riga= 1; riga <= N; riga++) { for(colonna = 1; colonna < CENTRO + riga ; colonna++) if (colonna <= CENTRO - riga) putchar(' '); else putchar('*'); putchar('\n'); } putchar('\n'); return(0); } /* ******************************** */