🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi ciclo while e do while in C

Codegrind TeamJul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi del ciclo while e do while in C.

Esercizio 1

Stampa dei numeri da 1 a 10 utilizzando un ciclo while:
#include <stdio.h>

int main() {
    int i = 1;

    while (i <= 10) {
        printf("%d ", i);
        i++;
    }

    return 0;
}

Esercizio 2

Calcolo della somma dei numeri da 1 a 100 utilizzando un ciclo while:
#include <stdio.h>

int main() {
    int i = 1;
    int somma = 0;

    while (i <= 100) {
        somma += i;
        i++;
    }

    printf("La somma dei numeri da 1 a 100 è: %d\n", somma);

    return 0;
}

Esercizio 3

Stampa dei numeri pari da 1 a 20 utilizzando un ciclo while:
#include <stdio.h>

int main() {
    int i = 2;

    while (i <= 20) {
        printf("%d ", i);
        i += 2;
    }

    return 0;
}

Esercizio 4

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

int main() {
    int numero;
    unsigned long long fattoriale = 1;
    int i = 1;

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

    while (i <= numero) {
        fattoriale *= i;
        i++;
    }

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

    return 0;
}

Esercizio 5

Stampa dei primi N numeri naturali utilizzando un ciclo while:
#include <stdio.h>

int main() {
    int numero;
    int i = 1;

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

    while (i <= numero) {
        printf("%d ", i);
        i++;
    }

    return 0;
}

Esercizio 6

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

int main() {
    int base, esponente;
    int potenza = 1;
    int i = 1;

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

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

    while (i <= esponente) {
        potenza *= base;
        i++;
    }

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

    return 0;
}

Esercizio 7

Stampa dei caratteri di una stringa utilizzando un ciclo while:
#include <stdio.h>

int main() {
    char stringa[100];
    int i = 0;

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

    while (stringa[i] != '\0') {
        printf("%c ", stringa[i]);
        i++;
    }

    return 0;
}

Esercizio 8

Stampa di un triangolo di asterischi utilizzando un ciclo while:
#include <stdio.h>

int main() {
    int numero;
    int i = 1;

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

    while (i <= numero) {
        int j = 1;

        while (j <= i) {
            printf("* ");
            j++;
        }

        printf("\n");
        i++;
    }

    return 0;
}

Esercizio 9

Calcolo del valore medio di un array di numeri utilizzando un ciclo while:
#include <stdio.h>

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

    while (i < lunghezza) {
        somma += numeri[i];
        i++;
    }

    float media = (float)somma / lunghezza;

    printf("Il valore medio dell'array è: %.2f\n", media);

    return 0;
}

Esercizio 10

Ricerca di un numero in un array utilizzando un ciclo do-while:
#include <stdio.h>

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

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

    do {
        if (numeri[i] == numeroDaCercare) {
            trovato = 1;
            break;
        }
        i++;
    } while (i < lunghezza);

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

    return 0;
}