Exercices Corrigés En C – Boucle do-while

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.

 
 

1. Ecrivez un programme en C qui affiche « Hello » 10 fois. En utilisant la boucle « do-while ».

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
#include <stdio.h>

int main()
{
	int i=0;  
   
	do  { 
		printf("Hello\n");
		i++;
	} while (i<10);
	
	return 0; 
}

La principale différence entre la boucle "while" et "do while" est que dans la boucle "do while", la boucle s'exécute une fois avant même de vérifier la condition, alors que dans une boucle "while", la boucle s'exécute si la condition est vraie.

 
 

2. Ecrivez un programme en C qui calcule la somme de 1 à 10. En utilisant la boucle "do-while".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
#include <stdio.h>

int main()
{
	int i=1,sum=0;  

	do{ 
		sum = sum + i;
		i++;
	} while (i <= 10) ;

	printf("La somme de 1 à 10 est: %d",sum);

	return 0; 
}
 
 

3. Écrire un programme en C qui affiche la table de multiplication de 2. En utilisant la boucle "do-while".

Exemple de sortie:

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10= 20  
#include <stdio.h>

int main()
{
	int i=0; 

	do{ 
		printf ("2 x %d = %d\n",i,i*2);
		i++;
	}while(i<10);

	return 0; 
}
 
 

4. Écrire un programme C pour inverser un nombre donné à l'aide d'une boucle "do-while".

Exemple de sortie:

Entrez un nombre: 12345
Nombre inversé: 54321
#include <stdio.h>

int main() {
    int nbr, reversedNbr=0, r;

    printf("Entrez un nombre:");
    scanf("%d", &nbr);

    do {
        // Extraire le dernier chiffre
        r = nbr % 10;

        // Créez le nombre inversé en ajoutant le chiffre extrait
        reversedNbr = reversedNbr * 10 + r;

        // Supprimer le dernier chiffre du nombre original
        nbr = nbr / 10;

    } while (nbr != 0);

    printf("Nombre inversé: %d\n", reversedNbr);

    return 0;
}
 
 

5. Écrire un programme C qui calcule et affiche la somme des nombres premiers jusqu'à une limite spécifiée (par exemple, 50) en utilisant une boucle "do-while".

Exemple de sortie:

Entrez la limite des nombres premiers: 40
Somme des nombres premiers jusqu'à 40 est 197
#include <stdio.h>

int nbrPremier(int n) {
    if (n < 2) {
        return 0;  // Pas un nombre premier
    }
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            return 0; // Pas un nombre premier
        }
    }
    return 1;  // Nombre premier
}

int main() {
    int max;
    int n = 2; // En commençant par le 1er nombre premier
    int s = 0;

    printf("Entrez la limite des nombres premiers:");
    scanf("%d", &max);

    do {
        if (nbrPremier(n)) {
            s += n;  // Additionner les nombres premiers à la somme
        }
        n++;  // Passer au nombre suivant
    } while (n <= max);

    printf("Somme des nombres premiers jusqu'à %d est %d", max, s);

    return 0;
}
 
 

6. Écrire un programme C qui invite l'utilisateur à saisir un mot de passe. Utilisez une boucle do-while pour continuer à demander le mot de passe jusqu'à ce que celui correct. En supposant que le mot de passe correct est w@yToLearnX.

Exemple de sortie:

Saisir le mot de passe : alex!-19
Mot de passe incorrect. Réessayez.
Saisir le mot de passe : hello123
Mot de passe incorrect. Réessayez.
Saisissez le mot de passe : w@yToLearnX
Mot de passe correct ! L'accès est accordé.
#include <stdio.h>
#include <string.h>

int main() {
    // Définir le mot de passe correct
    char psw[] = "w@yToLearnX";  
	// Variable pour stocker le mot de passe entré par l'utilisateur
    char input[20];  

    /* Utiliser une boucle "do-while" pour demander le mot de passe
    de manière répétée. */
    do {
        printf("Saisir le mot de passe:");
        scanf("%s", input);

        // Vérifier si le mot de passe saisi est correct
        if (strcmp(input, psw) == 0) {
            printf("Mot de passe correct ! Accès accordé.\n");
            break; //Sortir de la boucle si le mot de passe est correct
        } else {
            printf("Mot de passe incorrect. Réessayez.\n");
        }

    } while (1); /* Executer la boucle indéfiniment jusqu'à ce que 
    le mot de passe correct soit saisi.*/

    return 0;
}
 
 

7. Écrire un programme en C qui permet à l'utilisateur d'entrer une série de nombres se terminant par 0, et qui affiche à la fin le nombre d'occurrences du nombre 3.

Exemple de sortie:

2	8	3	1	3	3	6	3	0
3 existe 4 fois
#include <stdio.h>

int main()
{
	int Nbr,i=0;

	do{ 
		scanf("%d", &Nbr);
		
		if(Nbr == 3){
			i = i + 1;
		}			   
	}while(Nbr != 0);
  
	if(i != 0) 
		printf("3 existe %d fois", i);
	else   
		printf("3 n'existe pas");  

	return 0; 
}

Le programme ci-dessus, invite l'utilisateur à saisir des nombres entiers jusqu'à ce qu'il entre 0. Le code à l'intérieur de la boucle do-while sera exécuté au moins une fois avant de vérifier la condition de la boucle. La boucle se répète tant que l'utilisateur n'entre pas 0. On vérifie si le nombre saisi est égale à 3. Si c'est le cas on incrémente le compteur i. Après on vérifie if(i != 0) alors il existe un nombre d’occurrence du nombre spécifié sinon il n'existe pas.

 
 

8. Écrire un programme en C qui calculera une somme courante. L'utilisateur saisira des nombres qui seront ajoutés à la somme et, lorsqu'un nombre négatif sera rencontré, arrêtera d'ajouter des nombres et écrira le résultat final.

Exemple de sortie:

1 2 3 4 -1
La somme est 10
#include <stdio.h>

int main()
{
	int Nbr,sum=0;

	do{ 
		scanf("%d", &Nbr);
		sum = Nbr + sum 			   
	}while(Nbr >= 0);
  
	printf("La somme est %d",sum); 

	return 0; 
}
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *