📢 Nuovo Corso Laravel API disponibile!

Esercizi switch in C

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