📢 Nuovo Corso Laravel API disponibile!

Esercizi array in C

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