<h1>Programmazione 1 <small> (P-Z) a.a. 2007-08</small></h1> <br> <big>Docente: R. Silvestri<br> Esercitatore: A. Carosi<br> Tutor: J. Stefa</big><br> <br> <br> <h2>Esercitazioni del 2 ottobre 2007</h2> <b>Esercizio 1</b> <div align="justify"> <blockquote> Scrivere un programma che prende in input tre caratteri e li stampa in ordine alfabetico. L'ordine alfabetico si ottiene ordinando in modo crescente i codici ASCII dei caratteri. Per l'input dei tre caratteri si può usare <tt>scanf("%c%c%c", &a, &b, &c)</tt>. </blockquote> </div> <br> <b>Esercizio 2</b> <div align="justify"> <blockquote> Scrivere un programma che prende in input un carattere <tt>c</tt> e un numero intero <tt>n</tt> e stampa una matrice triangolare come dai seguenti esempi. Se il carattere <tt>c</tt> è <tt>'A'</tt> e <tt>n = 3</tt> allora deve stampare: <tt><pre> AAA AA A </pre></tt> Se <tt>n = 5</tt> deve stampare: <tt><pre> AAAAA AAAA AAA AA A </pre></tt> </blockquote> </div> <br> <b>Esercizio 3</b> <div align="justify"> <blockquote> Scrivere un programma che prende in input un carattere <tt>c</tt> e un numero intero <tt>n</tt> e stampa un triangolo come nei seguenti esempi. Se il caratter <tt>c</tt> è <tt>'A'</tt> e <tt>n = 3</tt> allora deve stampare: <tt><pre> A AAA AAAAA </pre></tt> Se <tt>n = 4</tt> deve stampare: <tt><pre> A AAA AAAAA AAAAAAA </pre></tt> </blockquote> </div> <br> <b>Esercizio 4</b> <div align="justify"> <blockquote> Scrivere un programma che preso in input un numero intero <tt>n</tt> stampa la tabellina della moltiplicazione per gli interi fino ad <tt>n</tt>. Ad esempio, se <tt>n = 5</tt> allora deve stampare: <tt><pre> 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25 </pre></tt> Si tenga conto che nella <tt>printf</tt> si può usare <tt>"%3d"</tt> per stampare un numero in un campo di lunghezza 3 giustificato a destra. </blockquote> </div> <br> <b>Esercizio 5</b> <div align="justify"> <blockquote> Scrivere un programma che prende in input un intero <tt>n</tt> e poi prende in input <tt>n</tt> numeri in virgola mobile e ne stampa il minimo, il massimo e la media. Ad esempio una possibile esecuzione del programma è la seguente: <tt><pre> inserire un numero: 3 1) inserire un numero decimale: 0.4 2) inserire un numero decimale: 7.08 3) inserire un numero decimale: 3.89 min = 0.400 max = 7.080 media = 3.790 </pre></tt> </blockquote> </div> <br> <br> <br> <br> <br> <br> <br> <br> <br> <big><b>Soluzioni</b></big> <br> <br> <br> <br> <b>Soluzione Esercizio 1</b> <div align="justify"> <blockquote> <tt><pre> #include <stdio.h> int main() { char a, b, c; printf("inserire tre caratteri: "); scanf("%c%c%c", &a, &b, &c); if (a < b) if (b < c) printf("%c%c%c\n", a, b, c); else if (a < c) printf("%c%c%c\n", a, c, b); else printf("%c%c%c\n", c, a, b); else if (a < c) printf("%c%c%c\n", b, a, c); else if (b < c) printf("%c%c%c\n", b, c, a); else printf("%c%c%c\n", c, b, a); return 0; } </pre></tt> </blockquote> </div> <br> <b>Soluzione Esercizio 2</b> <div align="justify"> <blockquote> <tt><pre> #include <stdio.h> int main() { char car; int r, c, n; printf("inserire un carattere: "); scanf("%c", &car); printf("inserire la dimensione: "); scanf("%d", &n); for (r = 1 ; r <= n ; r++) { for (c = 1 ; c <= n ; c++) if (c < r) printf(" "); else printf("%c%", car); printf("\n"); } return 0; } </pre></tt> </blockquote> </div> <br> <b>Soluzione Esercizio 3</b> <div align="justify"> <blockquote> <tt><pre> #include <stdio.h> int main() { char car; int r, c, n; printf("inserire un carattere: "); scanf("%c", &car); printf("inserire la dimensione: "); scanf("%d", &n); for (r = 1 ; r <= n ; r++) { for (c = 1 ; c <= n + r - 1 ; c++) if (c <= n - r) printf(" "); else printf("%c%", car); printf("\n"); } return 0; } </pre></tt> </blockquote> </div> <br> <b>Soluzione Esercizio 4</b> <div align="justify"> <blockquote> <tt><pre> #include <stdio.h> int main() { int n, i, j; printf("inserire la dimensione della tabellina: "); scanf("%d", &n); for (i = 1 ; i <= n ; i++) { for (j = 1 ; j <= n ; j++) printf("%3d ", i*j); printf("\n"); } return 0; } </pre></tt> </blockquote> </div> <br> <b>Soluzione Esercizio 5</b> <div align="justify"> <blockquote> <tt><pre> #include <stdio.h> int main() { int n, i, primo = 1; float min, max, sum = 0; printf("inserire un numero: "); scanf("%d", &n); for (i = 1 ; i <= n ; i++) { float f; printf("%d) inserire un numero decimale: ", i); scanf("%f", &f); if (primo) { min = max = f; primo = 0; } else if (f < min) min = f; else if (f > max) max = f; sum += f; } printf("min = %.3f max = %.3f media = %.3f\n", min, max, sum/n); return 0; } </pre></tt> </blockquote> </div> <br> <br> <br> <br> <br> <br> <br> -- Users.RiccardoSilvestri - 04 Oct 2007
This topic: Programmazione1
>
WebHome
>
Prog1PZ
>
DiarioPZ0708
>
Eser021007
Topic revision: r2 - 2007-10-04 - RiccardoSilvestri
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback