🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi funzioni in C

Codegrind TeamJul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi delle funzioni in C.

Esercizio 1

Calcolo del cubo di un numero:
#include <stdio.h>

int calcolaCubo(int numero) {
    return numero * numero * numero;
}

int main() {
    int numero;

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

    int cubo = calcolaCubo(numero);

    printf("Il cubo di %d è %d\n", numero, cubo);

    return 0;
}

Esercizio 2

Verifica se un numero è pari o dispari:
#include <stdio.h>

int isPari(int numero) {
    if (numero % 2 == 0) {
        return 1;
    } else {
        return 0;
    }
}

int main() {
    int numero;

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

    if (isPari(numero)) {
        printf("%d è un numero pari.\n", numero);
    } else {
        printf("%d è un numero dispari.\n", numero);
    }

    return 0;
}

Esercizio 3

Calcolo del massimo tra due numeri:
#include <stdio.h>

int calcolaMassimo(int numero1, int numero2) {
    if (numero1 > numero2) {
        return numero1;
    } else {
        return numero2;
    }
}

int main() {
    int numero1, numero2;

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

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

    int massimo = calcolaMassimo(numero1, numero2);

    printf("Il massimo tra %d e %d è %d\n", numero1, numero2, massimo);

    return 0;
}

Esercizio 4

Calcolo della somma di una sequenza di numeri:
#include <stdio.h>

int calcolaSomma(int sequenza[], int lunghezza) {
    int somma = 0;

    for (int i = 0; i < lunghezza; i++) {
        somma += sequenza[i];
    }

    return somma;
}

int main() {
    int lunghezza;

    printf("Inserisci la lunghezza della sequenza: ");
    scanf("%d", &lunghezza);

    int sequenza[lunghezza];

    printf("Inserisci gli elementi della sequenza:\n");
    for (int i = 0; i < lunghezza; i++) {
        scanf("%d", &sequenza[i]);
    }

    int somma = calcolaSomma(sequenza, lunghezza);

    printf("La somma della sequenza è: %d\n", somma);

    return 0;
}

Esercizio 5

Calcolo del fattoriale di un numero:
#include <stdio.h>

int calcolaFattoriale(int numero) {
    int fattoriale = 1;

    for (int i = 1; i <= numero; i++) {
        fattoriale *= i;
    }

    return fattoriale;
}

int main() {
    int numero;

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

    int fattoriale = calcolaFattoriale(numero);

    printf("Il fattoriale di %d è %d\n", numero, fattoriale);

    return 0;
}

Esercizio 6

Verifica se una stringa è palindroma:
#include <stdio.h>
#include <string.h>

int isPalindroma(char stringa[]) {
    int lunghezza = strlen(stringa);

    for (int i = 0; i < lunghezza / 2; i++) {
        if (stringa[i] != stringa[lunghezza - i - 1]) {
            return 0;
        }
    }

    return 1;
}

int main() {
    char stringa[100];

    printf("Inserisci una stringa: ");
    scanf("%s", stringa);

    if (isPalindroma(stringa)) {
        printf("%s è una stringa palindroma.\n", stringa);
    } else {
        printf("%s non è una stringa palindroma.\n", stringa);
    }

    return 0;
}

Esercizio 7

Conversione di una stringa in maiuscolo:
#include <stdio.h>
#include <ctype.h>

void convertiInMaiuscolo(char stringa[]) {
    int lunghezza = strlen(stringa);

    for (int i = 0; i < lunghezza; i++) {
        stringa[i] = toupper(stringa[i]);
    }
}

int main() {
    char stringa[100];

    printf("Inserisci una stringa: ");
    scanf("%s", stringa);

    convertiInMaiuscolo(stringa);

    printf("La stringa in maiuscolo è: %s\n", stringa);

    return 0;
}

Esercizio 8

Verifica se un anno è bisestile:
#include <stdio.h>

int isBisestile(int anno) {
    if ((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0) {
        return 1;
    } else {
        return 0;
    }
}

int main() {
    int anno;

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

    if (isBisestile(anno)) {
        printf("%d è un anno bisestile.\n", anno);
    } else {
        printf("%d non è un anno bisestile.\n", anno);
    }

    return 0;
}

Esercizio 9

Calcolo della potenza di un numero:
#include <stdio.h>

int calcolaPotenza(int base, int esponente) {
    int potenza = 1;

    for (int i = 1; i <= esponente; i++) {
        potenza *= base;
    }

    return potenza;
}

int main() {
    int base, esponente;

    printf("Inserisci la base: ");
    scanf("%d", &base);

    printf("Inserisci l'esponente: ");
    scanf("%d", &esponente);

    int potenza = calcolaPotenza(base, esponente);

    printf("%d elevato a %d è %d\n", base, esponente, potenza);

    return 0;
}

Esercizio 10

Calcolo del valore assoluto di un numero:
#include <stdio.h>

int valoreAssoluto(int numero) {
    if (numero < 0) {
        return -numero;
    } else {
        return numero;
    }
}

int main() {
    int numero;

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

    int valore = valoreAssoluto(numero);

    printf("Il valore assoluto di %d è %d\n", numero, valore);

    return 0;
}