🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi array in C

Codegrind TeamJul 22 2023

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

Esercizio 1

Calcolo della somma degli elementi di un array:
#include <stdio.h>

int main() {
    int numeri[] = {1, 2, 3, 4, 5};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    int somma = 0;

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

    printf("La somma degli elementi dell'array è: %d\n", somma);

    return 0;
}

Esercizio 2

Trovare il valore massimo in un array:
#include <stdio.h>

int main() {
    int numeri[] = {12, 56, 34, 78, 9};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    int massimo = numeri[0];

    for (int i = 1; i < lunghezza; i++) {
        if (numeri[i] > massimo) {
            massimo = numeri[i];
        }
    }

    printf("Il valore massimo dell'array è: %d\n", massimo);

    return 0;
}

Esercizio 3

Calcolo della media degli elementi di un array:
#include <stdio.h>

int main() {
    int numeri[] = {10, 20, 30, 40, 50};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    float somma = 0;

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

    float media = somma / lunghezza;

    printf("La media degli elementi dell'array è: %.2f\n", media);

    return 0;
}

Esercizio 4

Ricerca di un elemento in un array:
#include <stdio.h>

int main() {
    int numeri[] = {5, 8, 12, 3, 10};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    int numeroDaCercare;
    int trovato = 0;

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

    for (int i = 0; i < lunghezza; i++) {
        if (numeri[i] == numeroDaCercare) {
            trovato = 1;
            break;
        }
    }

    if (trovato) {
        printf("Il numero è presente nell'array.\n");
    } else {
        printf("Il numero non è presente nell'array.\n");
    }

    return 0;
}

Esercizio 5

Ricerca e conteggio delle occorrenze di un elemento in un array:
#include <stdio.h>

int main() {
    int numeri[] = {3, 8, 4, 2, 8, 6, 8};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    int numeroDaCercare;
    int conteggio = 0;

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

    for (int i = 0; i < lunghezza; i++) {
        if (numeri[i] == numeroDaCercare) {
            conteggio++;
        }
    }

    printf("Il numero %d compare %d volte nell'array.\n", numeroDaCercare, conteggio);

    return 0;
}

Esercizio 6

Copia degli elementi di un array in un altro array:
#include <stdio.h>

int main() {
    int numeri[] = {2, 4, 6, 8, 10};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    int copiaNumeri[lunghezza];

    for (int i = 0; i < lunghezza; i++) {
        copiaNumeri[i] = numeri[i];
    }

    printf("Array originale: ");
    for (int i = 0; i < lunghezza; i++) {
        printf("%d ", numeri[i]);
    }

    printf("\nArray copia: ");
    for (int i = 0; i < lunghezza; i++) {
        printf("%d ", copiaNumeri[i]);
    }

    printf("\n");

    return 0;
}

Esercizio 7

Inversione dell'ordine degli elementi di un array:
#include <stdio.h>

int main() {
    int numeri[] = {1, 2, 3, 4, 5};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);

    printf("Array originale: ");
    for (int i = 0; i < lunghezza; i++) {
        printf("%d ", numeri[i]);
    }

    int temp;
    for (int i = 0; i < lunghezza / 2; i++) {
        temp = numeri[i];
        numeri[i] = numeri[lunghezza - 1 - i];
        numeri[lunghezza - 1 - i] = temp;
    }

    printf("\nArray invertito: ");
    for (int i = 0; i < lunghezza; i++) {
        printf("%d ", numeri[i]);
    }

    printf("\n");

    return 0;
}

Esercizio 8

Conteggio dei numeri pari e dispari in un array:
#include <stdio.h>

int main() {
    int numeri[] = {1, 2, 3, 4, 5};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    int pari = 0;
    int dispari = 0;

    for (int i = 0; i < lunghezza; i++) {
        if (numeri[i] % 2 == 0) {
            pari++;
        } else {
            dispari++;
        }
    }

    printf("Numeri pari: %d\n", pari);
    printf("Numeri dispari: %d\n", dispari);

    return 0;
}

Esercizio 9

Ordinamento degli elementi di un array in ordine crescente:
#include <stdio.h>

int main() {
    int numeri[] = {5, 3, 8, 2, 1};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);

    printf("Array originale: ");
    for (int i = 0; i < lunghezza; i++) {
        printf("%d ", numeri[i]);
    }

    int temp;
    for (int i = 0; i < lunghezza - 1; i++) {
        for (int j = i + 1; j < lunghezza; j++) {
            if (numeri[i] > numeri[j]) {
                temp = numeri[i];
                numeri[i] = numeri[j];
                numeri[j] = temp;
            }
        }
    }

    printf("\nArray ordinato in ordine crescente: ");
    for (int i = 0; i < lunghezza; i++) {
        printf("%d ", numeri[i]);
    }

    printf("\n");

    return 0;
}

Esercizio 10

Ricerca del secondo valore più piccolo in un array:
#include <stdio.h>

int main() {
    int numeri[] = {5, 2, 8, 1, 7};
    int lunghezza = sizeof(numeri) / sizeof(numeri[0]);
    int minimo = numeri[0];
    int secondoMinimo = numeri[0];

    for (int i = 1; i < lunghezza; i++) {
        if (numeri[i] < minimo) {
            secondoMinimo = minimo;
            minimo = numeri[i];
        } else if (numeri[i] < secondoMinimo && numeri[i] != minimo) {
            secondoMinimo = numeri[i];
        }
    }

    printf("Il secondo valore più piccolo nell'array è: %d\n", secondoMinimo);

    return 0;
}