400 Exercices Corrigés En C – Partie 1

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. Écrire un programme en C qui afficher le message ‘Hello, World!’ sur l’écran.

Exemple de sortie:

Hello, World!
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h> 

int main()
{
    // Affiche "Hello, World!" à l'écran
    printf("Hello, World!");

    // Indique que le programme s'est terminé correctement
    return 0;
}

Dans ce programme, nous avons utilisé la fonction « printf » pour afficher la chaîne de caractères Hello, world! sur notre écran.

 
 

2. Ecrivez un programme C qui affiche votre nom, votre date de naissance et votre numéro de téléphone portable.

Exemple de sortie:

Nom               : Alex Babtise 
Date de naissance : Janvier 10, 2004
Tél               : 0785463521
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare trois variables de type float
    float n1, n2, s;

    // Demande à l'utilisateur d'entrer le premier nombre
    printf("Entrer 1er nombre : ");
    scanf("%f", &n1);

    // Demande à l'utilisateur d'entrer le deuxième nombre
    printf("Entrer 2eme nombre : ");
    scanf("%f", &n2);

    // Calcule la somme des deux nombres
    s = n1 + n2;

    // Affiche les deux nombres ainsi que leur somme
    printf("La somme de %f et %f = %f", n1, n2, s);

    // Indique que le programme s'est terminé correctement
    return 0;
}
 
 

3. Écrire un programme en C permettant la saisie de deux nombres et l’affichage de leur somme.

Exemple de sortie:

Entrer 1er nombre: 10
Entrer 2éme nombre: 5
La somme de 10 et 5 = 15
---------------------------
Entrer 1er nombre: 2.5
Entrer 2éme nombre: 2.5
La somme de 2.5 et 2.5 = 5
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare trois variables de type float
    // n1 et n2 : nombres saisis par l'utilisateur
    // s        : stocke la somme des deux nombres
    float n1, n2, s;

    // Demande à l'utilisateur de saisir le premier nombre
    printf("Entrer 1er nombre : ");
    scanf("%f", &n1);

    // Demande à l'utilisateur de saisir le deuxième nombre
    printf("Entrer 2eme nombre : ");
    scanf("%f", &n2);

    // Calcule la somme des deux nombres
    s = n1 + n2;

    // Affiche les deux nombres et leur somme
    printf("La somme de %f et %f = %f", n1, n2, s);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Ce programme invite l’utilisateur à saisir deux nombres, le format « %f » indique à scanf() de lire une valeur en virgule flottante. Puis les additionne, enfin affiche le résultat.

 
 

4. Ecrivez un programme C pour calculer le périmètre et la surface d’un rectangle d’une hauteur de 8 cm et d’une largeur de 4 cm.

Exemple de sortie:

Périmètre du rectangle = 24 cm 
Surface du rectangle = 32 cm²
#include <stdio.h>

int main() 
{
    int largeur,hauteur,surface,perimeter; 

    hauteur = 8;
    largeur = 4;

    /* Calculer le périmètre du rectangle */
    perimeter = 2*(hauteur + largeur);
    printf("Périmètre du rectangle = %d cm\n", perimeter);
	
    /* Calculer la surface du rectangle */
    surface = hauteur * largeur;
    printf("Surface du rectangle = %d cm²\n", surface);

    return(0);
}
 
 

5. Écrire un programme C pour calculer le périmètre et la surface d’un cercle dont le rayon est 5.

Exemple de sortie:

Périmètre du cercle = 31.4 cm 
Surface du cercle = 78.5 cm²
#include <stdio.h>

int main() {
   int rayon = 5;      
   float surface, perimeter;

   /* Calculer le périmètre du cercle */
   perimeter = 2 * 3.14 * rayon;
   printf("Périmètre du cercle = %f cm\n", perimeter);
	
   /* Calculer la surface du cercle */
   surface = 3.14 * rayon * rayon;
   printf("Surface du cercle = %f cm²\n", surface);

   return(0);
}
 
 

6. Écrire un programme en C permettant de permuter le contenu de deux entiers n1 et n2 entrés par l’utilisateur, et afficher ces entiers après permutation.

Exemple de sortie:

Entrer un entier n1 : 10
Entrer un entier n2 : 5
------permutation------
n1 = 5
n2 = 10
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare deux variables entières et une variable temporaire
    int n1, n2, tmp;

    // Demande à l'utilisateur de saisir le premier entier
    printf("Entrer un entier n1 : ");
    scanf("%d", &n1);

    // Demande à l'utilisateur de saisir le deuxième entier
    printf("Entrer un entier n2 : ");
    scanf("%d", &n2);

    // Stocke temporairement la valeur de n1 dans tmp
    tmp = n1;

    // Copie la valeur de n2 dans n1
    n1 = n2;

    // Récupère l'ancienne valeur de n1 depuis tmp et la met dans n2
    n2 = tmp;

    // Affiche un titre avant les résultats
    printf("------ permutation ------\n");

    // Affiche la nouvelle valeur de n1
    printf("n1 = %d\n", n1);

    // Affiche la nouvelle valeur de n2
    printf("n2 = %d", n2);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Ce programme déclare d’abord trois variables n1, n2 et tmp, puis demande à l’utilisateur de saisir deux nombres entiers. Ensuite, il utilise une variable temporaire tmp pour échanger les valeurs de n1 et n2, et enfin affiche les valeurs échangées.

 
 

7. Écrire un programme en C pour calculer la factorielle d’un nombre entier saisi par l’utilisateur. (Remarque: le factoriel de 5, qui s’écrit 5! = 5 × 4 × 3 × 2 × 1).

Exemple de sortie:

Saisir un nombre : 5
Le factoriel de 5 est: 120
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare les variables :
    // nbr : nombre dont on veut calculer le factoriel
    // f   : stocke le résultat du factoriel
    // i   : compteur de la boucle
    int nbr, f = 1, i;

    // Demande à l'utilisateur de saisir un nombre
    printf("Saisir un nombre : ");
    scanf("%d", &nbr);

    // Boucle de 1 jusqu'à nbr pour calculer le factoriel
    for (i = 1; i <= nbr; i++) {
        // Multiplie progressivement f par i
        f = f * i;
    }

    // Affiche le résultat du factoriel
    printf("Le factoriel de %d est : %d", nbr, f);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Nous commençons par déclarer les variables que nous utiliserons dans le programme. Nous avons besoin de trois variables : nbr, f et i. Nous les déclarons comme des entiers.

Ensuite, nous demandons à l'utilisateur d'entrer la valeur de nbr à l'aide des instructions printf et scanf. Nous écrivons un message invitant l'utilisateur à saisir un entier nbr, puis nous lisons la valeur saisie par l'utilisateur et la stockons dans la variable nbr.

Ensuite, nous initialisons la variable f à 1. Cette variable stockera la factorielle de nbr au fur et à mesure que nous la calculerons dans la boucle. Nous utilisons le signe (=) pour attribuer une valeur à une variable.

Ensuite, nous utilisons une boucle for itérer de 1 à nbr et multiplier f par i à chaque itération. La boucle a une valeur de départ, une valeur d'arrivée et une valeur d'incrémentation. Dans ce cas, nous commençons à 1, nous terminons à nbr et nous incrémentons de 1. À chaque itération, nous mettons à jour la valeur de f en la multipliant par i à l'aide du symbole de l'astérisque (*). De cette façon, nous calculons la factorielle de nbr comme le produit de tous les entiers de 1 à nbr.

Enfin, nous affichons la factorielle de nbr à l'aide de l'instruction printf. Nous écrivons un message qui indique la valeur de nbr et sa factorielle séparées par des virgules.

 
 

8. Écrire un programme en C permettant d'afficher si un nombre saisi est pair ou impair.

Exemple de sortie:

Entrer un nombre: 8 
Nombre pair
--------------------
Entrer un nombre: 1
Nombre impair
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare une variable entière pour stocker le nombre saisi
    int nbr;

    // Demande à l'utilisateur de saisir un nombre
    printf("Entrer un nombre : ");
    scanf("%d", &nbr);

    // Vérifie si le nombre est divisible par 2
    if (nbr % 2 == 0)
        // Si le reste de la division par 2 est égal à 0, le nombre 
        // est pair
        printf("Nombre pair");
    else
        // Sinon, le nombre est impair
        printf("Nombre impair");

    // Indique que le programme s'est terminé correctement
    return 0;
}

Si un nombre est divisible par 2 sans reste, il est pair. Vous pouvez calculer le reste à l'aide de l'opérateur modulo "%", comme ceci nbr % 2 == 0. Si un nombre divisé par 2 laisse un reste de 1, le nombre est impair. Vous pouvez le vérifier en utilisant nbr % 2 == 1.

 
 

9. Écrire un programme en C permettant d'afficher le plus grand des 3 nombres saisis au clavier.

Exemple de sortie:

Entrer 1er nombre : 2
Entrer 2éme nombre: 9
Entrer 3éme nombre: 7
Le nombre le plus grand est: 9
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare trois variables pour les nombres
    // et une variable pour stocker le plus grand nombre
    int n1, n2, n3, max;

    // Demande à l'utilisateur de saisir le premier nombre
    printf("Entrer 1er nombre : ");
    scanf("%d", &n1);

    // Demande à l'utilisateur de saisir le deuxième nombre
    printf("Entrer 2eme nombre : ");
    scanf("%d", &n2);

    // Demande à l'utilisateur de saisir le troisième nombre
    printf("Entrer 3eme nombre : ");
    scanf("%d", &n3);

    // On considère d'abord n1 comme le plus grand nombre
    max = n1;

    // Compare n2 avec la valeur actuelle de max
    // Si n2 est supérieur ou égal à max, n2 devient le nouveau maximum
    if (n2 >= max)
        max = n2;

    // Compare n3 avec la valeur actuelle de max
    // Si n3 est supérieur ou égal à max, n3 devient le nouveau maximum
    if (n3 >= max)
        max = n3;

    // Affiche le plus grand des trois nombres
    printf("Le nombre le plus grand est : %d", max);

    // Indique que le programme s'est terminé correctement
    return 0;
}
 
 

10. A quoi sert le programme en C suivant?
#include <stdio.h>

int main() 
{
	int nbr = 0;
	
	printf("Entrez un nombre entre 1 et 5:"); 
	
	do{
		scanf("%d",&nbr);
		if(nbr < 1 || nbr > 5)
			printf("Nombre incorrect. Recommencez!")
	}while(nbr < 1 || nbr > 5);

	return 0; 
}

Ce programme demande à l'utilisateur de saisir un nombre compris entre 1 et 5. Si l'utilisateur saisit un nombre incorrect, le programme demande à nouveau une valeur. Lorsque l'utilisateur saisit une valeur correcte. Le programme s'arrête.

🚀 Boostez votre productivité avec les meilleurs outils WebEssayez-les

 

11. Écrire un programme en C qui calcule la valeur absolue d'un nombre saisi par l'utilisateur.

Exemple de sortie:

Entrer un nombre: -5
La valeur absolue de -5 est 5
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>  

int main()
{
    // Déclare une variable entière pour stocker le nombre
    int n;

    // Demande à l'utilisateur de saisir un nombre
    printf("Entrer un nombre : ");
    scanf("%d", &n);

    // Vérifie si le nombre est positif ou égal à zéro
    if (n >= 0)
        // Si n est positif ou nul, sa valeur absolue est n lui-même
        printf("La valeur absolue de %d est %d", n, n);

    else
        // Si n est négatif, sa valeur absolue est obtenue en changeant 
        // son signe
        printf("La valeur absolue de %d est %d", n, -n);

    // Indique que le programme s'est terminé correctement
    return 0;
}
 
 

12. Écrire un programme en C qui calcule la moyenne de 3 nombres entrés par l'utilisateur.

Exemple de sortie:

Entrer 1er nombre :  5
Entrer 2éme nombre:  7
Entrer 3éme nombre:  3
La moyenne est : 5
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare trois variables pour les nombres
    // et une variable pour stocker la moyenne
    int n1, n2, n3, moy;

    // Demande à l'utilisateur de saisir le premier nombre
    printf("Entrer 1er nombre : ");
    scanf("%d", &n1);

    // Demande à l'utilisateur de saisir le deuxième nombre
    printf("Entrer 2eme nombre : ");
    scanf("%d", &n2);

    // Demande à l'utilisateur de saisir le troisième nombre
    printf("Entrer 3eme nombre : ");
    scanf("%d", &n3);

    // Calcule la moyenne des trois nombres
    moy = (n1 + n2 + n3) / 3;

    // Affiche la moyenne calculée
    printf("La moyenne est : %d", moy);

    // Indique que le programme s'est terminé correctement
    return 0;
}

La formule pour trouver la moyenne de nombres ou de valeurs donnés est très simple. Il suffit d'additionner tous les nombres et de diviser le résultat par le nombre de valeurs données. La formule pour calculer la moyenne est donc la suivante:

Moyenne = Total/Nombre

Ici, nous utilisons 3 nombres, donc pour calculer la moyenne, nous devons additionner les 3 nombres et les diviser par 3.

 
 

13. Écrire un programme en C qui affiche 10 fois "Hello". En utilisant la boucle "while".

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Initialise le compteur à 1
    int i = 1;

    // Répète la boucle tant que i est inférieur ou égal à 10
    while (i <= 10) {

        // Affiche "Hello" suivi d'un retour à la ligne
        printf("Hello\n");

        // Incrémente i de 1 pour passer à l'itération suivante
        i++;
    }

    // Indique que le programme s'est terminé correctement
    return 0;
}

Dans ce programme, la boucle while continuera à s'exécuter tant que la variable i est inférieure ou égale à 10. À l'intérieur de la boucle, le texte est affiché, puis la variable i est incrémentée de 1 jusqu'à ce que la condition ne soit plus remplie.

 
 

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

Indication:

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

Exemple de sortie:

La somme de 1 à 10 est 55
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Initialise i à 1 et sum à 0
    // i sert de compteur et sum sert à stocker la somme
    int i = 1, sum = 0;

    // Répète la boucle tant que i est inférieur ou égal à 10
    while (i <= 10) {

        // Ajoute la valeur de i à la somme
        sum = sum + i;

        // Incrémente i de 1
        i++;
    }

    // Affiche la somme des nombres de 1 à 10
    printf("La somme de 1 à 10 est : %d\n", sum);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Dans la boucle while ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur ou égal à 10. À chaque itération de la boucle, la variable sum s'additionne à la valeur de i.

Enfin, la boucle incrémente la valeur de i de 1, et le processus se répète jusqu'à ce que la condition i <= 10 ne soit plus vraie. Dans ce cas on affiche le message "La somme de 1 à 10 est: 55".

 
 

15. Ecrivez un programme en C qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle "while".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 7 est 28
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare les variables :
    // i   : compteur de la boucle
    // sum : stocke la somme
    // n   : nombre saisi par l'utilisateur
    int i = 1, sum = 0, n;

    // Demande à l'utilisateur de saisir un nombre
    printf("Entrer un nombre : ");
    scanf("%d", &n);

    // Répète la boucle tant que i est inférieur ou égal à n
    while (i <= n) {

        // Ajoute i à la somme
        sum = sum + i;

        // Incrémente i de 1
        i++;
    }

    // Affiche la somme des nombres de 1 jusqu'à n
    printf("La somme de 1 à %d est : %d\n", n, sum);

    // Indique que le programme s'est terminé correctement
    return 0;
}

La boucle while est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme sum et i est incrémenté de 1.

 
 

16. Ecrivez un programme en C qui affiche "Hello" 10 fois. En utilisant la boucle "for".

Exemple de sortie:

Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare une variable entière qui servira de compteur
    int i;

    // Initialise i à 0
    // La boucle continue tant que i est inférieur à 10
    // i est augmenté de 1 après chaque répétition
    for (i = 0; i < 10; i++) {

        // Affiche "Hello" suivi d'un retour à la ligne
        printf("Hello\n");
    }

    // Indique que le programme s'est terminé correctement
    return 0;
}

Dans cet algorithme, la boucle for continuera à s'exécuter tant que la variable i est inférieure ou égale à 10. À l'intérieur de la boucle, le texte est affiché, puis la variable i est incrémentée de 1 jusqu'à ce que la condition ne soit plus remplie.

 
 

17. Ecrivez un programme en C qui calcule la somme de 1 à 10. En utilisant la boucle "for".

Indication:

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

Exemple de sortie:

La somme de 1 à 10 est 55
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare la variable i comme compteur
    // et initialise sum à 0 pour stocker la somme
    int i, sum = 0;

    // Parcourt les nombres de 1 à 10
    for (i = 1; i <= 10; i++) {

        // Ajoute la valeur de i à la somme
        sum = sum + i;
    }

    // Affiche la somme des nombres de 1 à 10
    printf("La somme de 1 à 10 est : %d", sum);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Dans la boucle for ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur ou égal à 10. À chaque itération de la boucle, la variable sum s'additionne à la valeur de i.

 
 

18. Ecrivez un programme en C qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle "for".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 7 est 28
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare les variables :
    // i   : compteur de la boucle
    // sum : stocke la somme
    // n   : nombre saisi par l'utilisateur
    int i, sum = 0, n;

    // Demande à l'utilisateur de saisir un nombre
    printf("Entrer un nombre : ");
    scanf("%d", &n);

    // Parcourt les nombres de 1 jusqu'à n
    for (i = 1; i <= n; i++) {

        // Ajoute la valeur de i à la somme
        sum = sum + i;
    }

    // Affiche la somme des nombres de 1 à n
    printf("La somme de 1 à %d est : %d", n, sum);

    // Indique que le programme s'est terminé correctement
    return 0;
}

La boucle for est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme sum et i est incrémenté de 1.

 
 

19. Écrire un programme en C qui affiche la table de multiplication de 3. En utilisant la boucle "for".

Exemple de sortie:

3 x 0 = 0
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10= 30  
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare une variable entière qui servira de compteur
    int i;

    // Parcourt les nombres de 0 à 10
    for (i = 0; i <= 10; i++) {

        // Affiche le résultat de la multiplication de i par 3
        printf("3 x %d = %d\n", i, i * 3);
    }

    // Indique que le programme s'est terminé correctement
    return 0;
}

Nous utilisons la boucle for pour afficher la table de multiplication de 3. La boucle s'exécute de i = 0 à i = 10. À chaque itération de la boucle, i * 3 est affiché.

 
 

20. Écrire un programme en C qui affiche la table de multiplication d'un entier saisi par l'utilisateur, en utilisant la boucle "for".

Exemple de sortie:

Entrer un nombre: 7
7 x 0 = 0
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10= 70
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare deux variables entières :
    // n : nombre saisi par l'utilisateur
    // i : compteur de la boucle
    int i, n;

    // Demande à l'utilisateur de saisir un entier
    printf("Entrer un entier : ");
    scanf("%d", &n);

    // Parcourt les nombres de 1 à 10
    for (i = 1; i <= 10; i++) {

        // Affiche la table de multiplication de n
        printf("%d x %d = %d\n", n, i, i * n);
    }

    // Indique que le programme s'est terminé correctement
    return 0;
}

Nous utilisons la boucle for pour afficher la table de multiplication de n. La boucle s'exécute de i = 1 à i = 10. À chaque itération de la boucle, i * n est affiché.

 
 

21. 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
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Initialise le compteur à 0
    int i = 0;

    // Exécute le bloc au moins une fois,
    // puis répète tant que i est inférieur à 10
    do {
        // Affiche "Hello" suivi d'un retour à la ligne
        printf("Hello\n");

        // Incrémente le compteur de 1
        i++;

    } while (i < 10);

    // Indique que le programme s'est terminé correctement
    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.

 
 

22. 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
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Initialise i à 1 et sum à 0
    // i sert de compteur et sum stocke la somme
    int i = 1, sum = 0;

    // Exécute le bloc puis vérifie la condition
    do {
        // Ajoute la valeur de i à la somme
        sum = sum + i;

        // Incrémente i de 1
        i++;

    } while (i <= 10);  // Continue tant que i est inférieur ou égal à 10

    // Affiche la somme des nombres de 1 à 10
    printf("La somme de 1 à 10 est : %d", sum);

    // Indique que le programme s'est terminé correctement
    return 0;
}
 
 

23. É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  
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Initialise le compteur à 0
    int i = 0;

    // Exécute le bloc puis vérifie la condition
    do {
        // Affiche le résultat de la multiplication de i par 2
        printf("2 x %d = %d\n", i, i * 2);

        // Incrémente i de 1
        i++;

    } while (i < 10);  // Continue tant que i est inférieur à 10

    // Indique que le programme s'est terminé correctement
    return 0;
}
24. Écrire un programme C pour convertir les jours spécifiés en années, semaines et jours. Note : Ne pas tenir en compte les années bissextiles.

Exemple de sortie:

Entrez le nombre de jours: 2570
Années: 7
Semaines: 2
Jours: 1
#include <stdio.h>

int main()
{
    int jours, an, semaines;

    jours = 2570; // Nombre total de jours

    // Calculer les années
    an = jours/365; 
    // Calculer les semaines restants
    semaines = (jours % 365)/7; 
    // Calculer les jours restants
    jours = jours - ((an*365) + (semaines*7)); 

    // Afficher les résultats
    printf("Années: %d\n", an);
    printf("Semaines: %d\n", semaines);
    printf("Jours: %d", jours);

    return 0;
}
 
 

25. Écrivez un programme C qui accepte le nombre total d'heures travaillées au cours d'un mois et le montant que l'employé a reçu par heure. Affichez le salaire (avec deux décimales) de l'employé pour un mois donné.

Exemple de sortie:

Saisir les heures de travail: 7
Montant du salaire/heure: 2000 

Salaire = 14000.00 €
#include <stdio.h>

int main() {
    int heures;
    double sph, salaire;

    printf("Saisir les heures de travail: ");
    scanf("%d", &heures);

    printf("Montant du salaire/heure: ");
    scanf("%lf", &sph);

    // Calculer le salaire total
    salaire = sph * heures;

    // Afficher le salaire
    printf("Salaire = %.2lf €\n", salaire);

    return 0;
}
 
 

26. Écrire un programme en C pour afficher les nombres pairs entre 0 et N, où N est saisi par l'utilisateur.

Exemple de sortie:

Entrer un nombre :  9
0  2  4  6  8 
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare les variables :
    // i : compteur de la boucle
    // n : nombre saisi par l'utilisateur
    int i, n;

    // Demande à l'utilisateur de saisir un nombre
    printf("Entrer un nombre : ");
    scanf("%d", &n);

    // Parcourt tous les nombres de 0 jusqu'à n
    for (i = 0; i <= n; i++) {

        // Vérifie si i est un nombre pair
        // Le reste de la division de i par 2 doit être égal à 0
        if (i % 2 == 0)

            // Affiche le nombre pair
            printf(" %d ", i);
    }

    // Indique que le programme s'est terminé correctement
    return 0;
}

Description pas à pas de la logique permettant d'afficher tous les nombres pairs compris entre 1 et n à en utilisant l'instruction "IF":

  • L'utilisateur doit saisir la limite supérieure des nombres pairs. Stockez-la dans la variable N.
  • Exécutez la boucle "for" à partir de 1, jusqu'à n.
  • À l'intérieur du corps de la boucle, vérifiez la condition pair/impair. Si le nombre actuel i est divisible par 2, alors i est pair. Autrement dit, if (i%2 == 0), la valeur de i est affichée.
 
 

27. Ecrivez un programme en C qui calcule la somme des nombres impairs compris entre 1 et un nombre entier N saisi par l'utilisateur. Exemple N=10 Somme=1+3+5+7+9=25

Exemple de sortie:

Entrer un nombre :  10
La somme des nombres impairs est: 25
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare les variables :
    // n   : limite saisie par l'utilisateur
    // i   : compteur de la boucle
    // sum : stocke la somme des nombres impairs
    int n, i, sum = 0;

    // Demande à l'utilisateur de saisir un nombre
    printf("Entrer un nombre : ");
    scanf("%d", &n);

    // Parcourt tous les nombres de 1 jusqu'à n
    for (i = 1; i <= n; i++) {

        // Vérifie si i est un nombre impair
        // Un nombre est impair si le reste de sa division par 2 
        // est différent de 0
        if (i % 2 != 0)

            // Ajoute le nombre impair à la somme
            sum = sum + i;
    }

    // Affiche la somme de tous les nombres impairs de 1 à n
    printf("La somme des nombres impairs est : %d", sum);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Dans ce programme:

  • L'utilisateur doit saisir la limite supérieure des nombres impairs. Stockez-la dans la variable N.
  • Exécutez la boucle "for" à partir de 1, jusqu'à n.
  • À l'intérieur du corps de la boucle, vérifiez la condition pair/impair. Si le nombre actuel i n'est pas divisible par 2, alors i est impair. Autrement dit, if(i%2 != 0), nous ajoutons le nombre actuel i à la variable sum.
  • Enfin nous affichons la somme des nombres impairs.
 
 

28. Écrire un programme en C permettant de calculer le plus grand commun diviseur (PGCD) entre deux nombres entiers entrés par l'utilisateur.

Exemple:

n1=18 et n2=45
PGCD(18, 45) = 9

Exemple de sortie:

Entrer deux nombres: 18  45
Le PGCD est : 9
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare les variables :
    // n1, n2 : les deux nombres saisis
    // pgcd   : stocke le PGCD des deux nombres
    // i      : compteur utilisé pour tester les diviseurs
    int n1, n2, pgcd, i = 1;

    // Demande à l'utilisateur de saisir le premier nombre
    printf("Entrer un nombre : ");
    scanf("%d", &n1);

    // Demande à l'utilisateur de saisir le deuxième nombre
    printf("Entrer un nombre : ");
    scanf("%d", &n2);

    // Parcourt les nombres de 1 jusqu'au plus petit des deux nombres
    while (i <= n1 && i <= n2) {

        // Vérifie si i est un diviseur de n1 et de n2
        if (n1 % i == 0 && n2 % i == 0) {

            // Si i divise les deux nombres,
            // il devient le nouveau PGCD
            pgcd = i;
        }

        // Passe au diviseur suivant
        i++;
    }

    // Affiche le PGCD des deux nombres
    printf("Le PGCD de %d et %d est : %d", n1, n2, pgcd);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Dans ce programme, deux nombres entiers entrés par l'utilisateur sont stockés dans les variables n1 et n2. Ensuite, la boucle while est itérée jusqu'à ce que i soit inférieur à n1 et n2.

A chaque itération, si n1 et n2 sont exactement divisibles par i, la valeur de i est affectée à la variable "pgcd".

Lorsque la boucle while est terminée, le plus grand diviseur commun de deux nombres est stocké dans la variable "pgcd".

 
 

29. Écrire un programme en C qui affiche un triangle d'entiers, en fonction d'un entier N saisi par l'utilisateur.

Exemple de sortie:

Donner un nombre: 7
1
22
333
4444
55555
666666
7777777
// Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare les variables :
    // n : nombre de lignes à afficher
    // i : compteur des lignes
    // j : compteur des répétitions sur chaque ligne
    int n, i, j;

    // Demande à l'utilisateur de saisir le nombre de lignes
    printf("Donner un nombre : ");
    scanf("%d", &n);

    // Boucle externe : parcourt les lignes de 1 à n
    for (i = 1; i <= n; i++) {

        // Boucle interne : affiche i, i fois sur la même ligne
        for (j = 1; j <= i; j++) {
            printf("%d", i);
        }

        // Passe à la ligne suivante
        printf("\n");
    }

    // Indique que le programme s'est terminé correctement
    return 0;
}

Le programme invite l'utilisateur à saisir un nombre à l'aide de la fonction printf() et stocke la valeur dans la variable "n" à l'aide de la fonction scanf(). La boucle for est ensuite utilisée pour exécuter le code à l'intérieur de la boucle le nombre de fois spécifié par l'utilisateur. La boucle for commence avec "i" initialisé à 1, et la boucle continue jusqu'à ce que "i" soit inférieur ou égal à "n".

La deuxième boucle for est imbriquée dans la première boucle for et est utilisée pour exécuter de manière répétée le code à l'intérieur de la boucle pendant le nombre de fois spécifié par l'utilisateur. La boucle for commence avec "j" initialisé à 1, et la boucle continue jusqu'à ce que "j" soit inférieur ou égal à "i".

La fonction printf() à l'intérieur de la boucle imbriquée est utilisée pour afficher le nombre actuelle (i) à l'écran à chaque fois que la boucle est exécutée. Les valeurs de "i" et "j" sont incrémentées de 1 à chaque itération des boucles, de sorte que les boucles se terminent finalement lorsque "i" et "j" atteignent la valeur de "n".

🚀 Boostez votre productivité avec les meilleurs outils WebEssayez-les

 

30. Ecrire un programme en C qui compte le nombre de chiffres dans un nombre saisi par l'utilisateur.

Exemple de sortie:

Donner un nombre: 9876
Le nombre de chiffres est 4
 // Inclut la bibliothèque standard d'entrée/sortie
#include <stdio.h>

int main()
{
    // Déclare n pour stocker le nombre saisi
    // et i pour compter le nombre de chiffres
    int n, i = 1;

    // Demande à l'utilisateur de saisir un nombre
    printf("Donner un nombre : ");
    scanf("%d", &n);

    // Supprime un chiffre à chaque répétition
    // jusqu'à ce qu'il ne reste qu'un seul chiffre
    while (n / 10 != 0) {

        // Supprime le dernier chiffre de n
        n = n / 10;

        // Incrémente le compteur de chiffres
        i = i + 1;
    }

    // Affiche le nombre total de chiffres
    printf("Le nombre de chiffres est : %d", i);

    // Indique que le programme s'est terminé correctement
    return 0;
}

Le programme divise le nombre saisi par l'utilisateur par 10 dans la boucle while jusqu'à ce que le résultat atteigne zéro. Le nombre d'itérations correspondra au nombre de chiffres.

L'entier saisi par l'utilisateur est stocké dans la variable n. Ensuite, la boucle while est itérée jusqu'à ce que la condition (n/10 != 0) soit évaluée à 0 (False).

  • Après la première itération, la valeur de n est de 987 et le compteur est incrémenté à 1.
  • Après la deuxième itération, la valeur de n sera de 98 et le compteur sera incrémenté à 2.
  • Après la troisième itération, la valeur de n sera de 9 et le compteur sera incrémenté à 3.
  • Après la quatrième itération, la valeur de n sera 0 et le compteur sera incrémenté à 4.
  • La condition de la boucle est alors évaluée à false et la boucle se termine.
Veuillez voir les exercices de 31 à 40 sur ce lien.

 

2 réflexions sur “400 Exercices Corrigés En C – Partie 1

  • janvier 14, 2026 à 4:09 pm
    Permalien

    J’aprecie beaucoup pour les exercices que vous envoyer ici

    Répondre
  • mars 7, 2026 à 1:02 pm
    Permalien

    je viens de commencer la programmation en language c et j’ai besoin des exercices pour pouvoir m’a

    Répondre

Laisser un commentaire

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