🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi operatore ternario in C

Codegrind TeamJul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi dell’operatore ternario in C.

Esercizio 1

Chiedere all'utente di inserire un numero e verificare se è positivo o negativo utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int numero;

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

    (numero >= 0) ? printf("Il numero è positivo.\n") : printf("Il numero è negativo.\n");

    return 0;
}

Esercizio 2

Chiedere all'utente di inserire un numero e verificare se è pari o dispari utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int numero;

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

    (numero % 2 == 0) ? printf("Il numero è pari.\n") : printf("Il numero è dispari.\n");

    return 0;
}

Esercizio 3

Chiedere all'utente di inserire un anno e verificare se è bisestile utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int anno;

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

    ((anno % 4 == 0 && anno % 100 != 0) || (anno % 400 == 0)) ? printf("L'anno è bisestile.\n") : printf("L'anno non è bisestile.\n");

    return 0;
}

Esercizio 4

Chiedere all'utente di inserire un numero e calcolarne il valore assoluto utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int numero;

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

    int valoreAssoluto = (numero < 0) ? -numero : numero;

    printf("Il valore assoluto del numero è: %d\n", valoreAssoluto);

    return 0;
}

Esercizio 5

Chiedere all'utente di inserire un carattere e verificare se è una lettera maiuscola, minuscola o un numero utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    char carattere;

    printf("Inserisci un carattere: ");
    scanf(" %c", &carattere);

    (carattere >= 'A' && carattere <= 'Z') ? printf("Il carattere è una lettera maiuscola.\n") :
    (carattere >= 'a' && carattere <= 'z') ? printf("Il carattere è una lettera minuscola.\n") :
    (carattere >= '0' && carattere <= '9') ? printf("Il carattere è un numero.\n") :
    printf("Il carattere non è una lettera o un numero.\n");

    return 0;
}

Esercizio 6

Chiedere all'utente di inserire due numeri e determinare il massimo tra i due utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int numero1, numero2;

    printf("Inserisci il primo numero: ");
    scanf("%d", &numero1);

    printf("Inserisci il secondo numero: ");
    scanf("%d", &numero2);

    int massimo = (numero1 > numero2) ? numero1 : numero2;

    printf("Il massimo tra i due numeri è: %d\n", massimo);

    return 0;
}

Esercizio 7

Chiedere all'utente di inserire un anno e verificare se è un secolo (anno divisibile per 100) utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int anno;

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

    (anno % 100 == 0) ? printf("L'anno è un secolo.\n") : printf("L'anno non è un secolo.\n");

    return 0;
}

Esercizio 8

Chiedere all'utente di inserire un numero e verificare se è multiplo di 5 e/o di 7 utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int numero;

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

    (numero % 5 == 0 && numero % 7 == 0) ? printf("Il numero è multiplo di 5 e di 7.\n") :
    (numero % 5 == 0) ? printf("Il numero è multiplo di 5.\n") :
    (numero % 7 == 0) ? printf("Il numero è multiplo di 7.\n") :
    printf("Il numero non è multiplo né di 5 né di 7.\n");

    return 0;
}

Esercizio 9

Chiedere all'utente di inserire l'età di una persona e verificare se è maggiorenne (età >= 18) utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int eta;

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

    (eta >= 18) ? printf("La persona è maggiorenne.\n") : printf("La persona è minorenne.\n");

    return 0;
}

Esercizio 10

Chiedere all'utente di inserire la durata di una chiamata telefonica in minuti e calcolarne il costo, sapendo che ogni minuto costa 0.50 euro, utilizzando l'operatore ternario.
#include <stdio.h>

int main() {
    int durataChiamata;
    float costoChiamata;

    printf("Inserisci la durata della chiamata telefonica in minuti: ");
    scanf("%d", &durataChiamata);

    costoChiamata = durataChiamata * 0.50;

    printf("Il costo della chiamata è: %.2f euro\n", costoChiamata);

    return 0;
}