🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi switch in C

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi dello switch in C.

Esercizio 1

Chiedere all'utente di inserire un numero da 1 a 7 che rappresenta un giorno della settimana e stampare il nome del giorno corrispondente.
#include <stdio.h>

int main() {
    int numeroGiorno;

    printf("Inserisci un numero da 1 a 7: ");
    scanf("%d", &numeroGiorno);

    switch (numeroGiorno) {
        case 1:
            printf("Lunedì\n");
            break;
        case 2:
            printf("Martedì\n");
            break;
        case 3:
            printf("Mercoledì\n");
            break;
        case 4:
            printf("Giovedì\n");
            break;
        case 5:
            printf("Venerdì\n");
            break;
        case 6:
            printf("Sabato\n");
            break;
        case 7:
            printf("Domenica\n");
            break;
        default:
            printf("Numero non valido\n");
    }

    return 0;
}

Esercizio 2

Chiedere all'utente di inserire l'etĂ  e calcolare il costo del biglietto del cinema in base alla seguente tabella: Fino a 3 anni: gratuito Da 4 a 12 anni: 5 euro Da 13 a 17 anni: 8 euro Da 18 a 65 anni: 12 euro Oltre i 65 anni: 6 euro
#include <stdio.h>

int main() {
    int eta;
    float costoBiglietto;

    printf("Inserisci l'etĂ : ");
    scanf("%d", &eta);

    switch (eta) {
        case 0 ... 3:
            costoBiglietto = 0;
            break;
        case 4 ... 12:
            costoBiglietto = 5;
            break;
        case 13 ... 17:
            costoBiglietto = 8;
            break;
        case 18 ... 65:
            costoBiglietto = 12;
            break;
        default:
            costoBiglietto = 6;
    }

    printf("Il costo del biglietto è: %.2f euro\n", costoBiglietto);

    return 0;
}

Esercizio 3

Chiedere all'utente di inserire un numero da 1 a 12 che rappresenta un mese dell'anno e stampare la stagione corrispondente.
#include <stdio.h>

int main() {
    int numeroMese;

    printf("Inserisci un numero da 1 a 12: ");
    scanf("%d", &numeroMese);

    switch (numeroMese) {
        case 1:
        case 2:
        case 12:
            printf("Inverno\n");
            break;
        case 3:
        case 4:
        case 5:
            printf("Primavera\n");
            break;
        case 6:
        case 7:
        case 8:
            printf("Estate\n");
            break;
        case 9:
        case 10:
        case 11:
            printf("Autunno\n");
            break;
        default:
            printf("Numero non valido\n");
    }

    return 0;
}

Esercizio 4

Chiedere all'utente di inserire un punteggio da 0 a 100 e convertirlo in una lettera di valutazione secondo la seguente tabella: 90-100: A 80-89: B 70-79: C 60-69: D 0-59: F
#include <stdio.h>

int main() {
    int punteggio;
    char letteraValutazione;

    printf("Inserisci il punteggio: ");
    scanf("%d", &punteggio);

    switch (punteggio / 10) {
        case 10:
        case 9:
            letteraValutazione = 'A';
            break;
        case 8:
            letteraValutazione = 'B';
            break;
        case 7:
            letteraValutazione = 'C';
            break;
        case 6:
            letteraValutazione = 'D';
            break;
        default:
            letteraValutazione = 'F';
    }

    printf("La lettera di valutazione è: %c\n", letteraValutazione);

    return 0;
}

Esercizio 5

Chiedere all'utente di inserire un numero romano (da I a X) e convertirlo in un numero decimale.
#include <stdio.h>

int main() {
    char numeroRomano;
    int numeroDecimale;

    printf("Inserisci un numero romano (da I a X): ");
    scanf(" %c", &numeroRomano);

    switch (numeroRomano) {
        case 'I':
            numeroDecimale = 1;
            break;
        case 'V':
            numeroDecimale = 5;
            break;
        case 'X':
            numeroDecimale = 10;
            break;
        default:
            printf("Numero romano non valido\n");
            return 0;
    }

    printf("Il numero decimale corrispondente è: %d\n", numeroDecimale);

    return 0;
}

Esercizio 6

Chiedere all'utente di inserire un numero intero e verificare se è pari o dispari utilizzando il blocco switch.
#include <stdio.h>

int main() {
    int numero;

    printf("Inserisci un numero: ");
    scanf("%d", &numero);

    switch (numero % 2) {
        case 0:
            printf("Il numero è pari.\n");
            break;
        case 1:
            printf("Il numero è dispari.\n");
            break;
    }

    return 0;
}

Esercizio 7

Chiedere all'utente di inserire una temperatura e una lettera che indica l'unitĂ  di misura (C per Celsius, F per Fahrenheit) e convertire la temperatura nell'unitĂ  di misura opposta.
#include <stdio.h>

int main() {
    float temperatura;
    char unitaMisura;

    printf("Inserisci una temperatura: ");
    scanf("%f", &temperatura);

    printf("Inserisci l'unitĂ  di misura (C per Celsius, F per Fahrenheit): ");
    scanf(" %c", &unitaMisura);

    switch (unitaMisura) {
        case 'C':
            temperatura = (temperatura * 9 / 5) + 32;
            printf("La temperatura in Fahrenheit è: %.2f\n", temperatura);
            break;
        case 'F':
            temperatura = (temperatura - 32) * 5 / 9;
            printf("La temperatura in Celsius è: %.2f\n", temperatura);
            break;
        default:
            printf("UnitĂ  di misura non valida\n");
    }

    return 0;
}

Esercizio 8

Chiedere all'utente di inserire un numero da 1 a 12 che rappresenta un mese dell'anno e stampare il numero di giorni corrispondente.
#include <stdio.h>

int main() {
    int numeroMese;
    int numeroGiorni;

    printf("Inserisci un numero da 1 a 12: ");
    scanf("%d", &numeroMese);

    switch (numeroMese) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            numeroGiorni = 31;
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            numeroGiorni = 30;
            break;
        case 2:
            numeroGiorni = 28;
            break;
        default:
            printf("Numero non valido\n");
            return 0;
    }

    printf("Il numero di giorni nel mese è: %d\n", numeroGiorni);

    return 0;
}

Esercizio 9

Chiedere all'utente di inserire il peso in kg e l'altezza in metri e calcolare l'IMC utilizzando la formula IMC = peso / (altezza * altezza). In base all'IMC calcolato, stampare la categoria di peso corrispondente.
#include <stdio.h>

int main() {
    float peso, altezza, imc;

    printf("Inserisci il peso in kg: ");
    scanf("%f", &peso);

    printf("Inserisci l'altezza in metri: ");
    scanf("%f", &altezza);

    imc = peso / (altezza * altezza);

    switch ((int)imc) {
        case 0 ... 18:
            printf("Sottopeso\n");
            break;
        case 19 ... 24:
            printf("Normale\n");
            break;
        case 25 ... 29:
            printf("Sovrappeso\n");
            break;
        default:
            printf("Obeso\n");
    }

    return 0;
}

Esercizio 10

Chiedere all'utente di inserire un numero binario e convertirlo in un numero decimale.
#include <stdio.h>

int main() {
    int numeroBinario;
    int numeroDecimale = 0;
    int potenza = 1;

    printf("Inserisci un numero binario: ");
    scanf("%d", &numeroBinario);

    while (numeroBinario > 0) {
        int cifra = numeroBinario % 10;
        numeroDecimale += cifra * potenza;
        potenza *= 2;
        numeroBinario /= 10;
    }

    printf("Il numero decimale corrispondente è: %d\n", numeroDecimale);

    return 0;
}