Programmazione 1    (P-Z) a.a. 2007-08


Docente: R. Silvestri
Esercitatore: A. Carosi
Tutor: J. Stefa



Esercitazioni del 2 ottobre 2007

Esercizio 1

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 scanf("%c%c%c", &a, &b, &c).

Esercizio 2

Scrivere un programma che prende in input un carattere c e un numero intero n e stampa una matrice triangolare come dai seguenti esempi. Se il carattere c è 'A' e n = 3 allora deve stampare:
AAA
 AA
  A
Se n = 5 deve stampare:
AAAAA
 AAAA
  AAA
   AA
    A

Esercizio 3

Scrivere un programma che prende in input un carattere c e un numero intero n e stampa un triangolo come nei seguenti esempi. Se il caratter c è 'A' e n = 3 allora deve stampare:
  A
 AAA
AAAAA
Se n = 4 deve stampare:
   A
  AAA
 AAAAA
AAAAAAA

Esercizio 4

Scrivere un programma che preso in input un numero intero n stampa la tabellina della moltiplicazione per gli interi fino ad n. Ad esempio, se n = 5 allora deve stampare:
  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
Si tenga conto che nella printf si può usare "%3d" per stampare un numero in un campo di lunghezza 3 giustificato a destra.

Esercizio 5

Scrivere un programma che prende in input un intero n e poi prende in input n numeri in virgola mobile e ne stampa il minimo, il massimo e la media. Ad esempio una possibile esecuzione del programma è la seguente:
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









Soluzioni



Soluzione Esercizio 1

#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;
}

Soluzione Esercizio 2

#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;
}

Soluzione Esercizio 3

#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;
}

Soluzione Esercizio 4

#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;
}

Soluzione Esercizio 5

#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;
}







-- RiccardoSilvestri - 04 Oct 2007


This topic: Programmazione1 > WebHome > Prog1PZ > DiarioPZ0708 > Eser021007
Topic revision: r2 - 2007-10-04 - RiccardoSilvestri
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback