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!
#include <stdio.h> int main() { printf("Hello, World!"); return 0; }
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
#include <stdio.h> int main() { printf("Nom : Alex Babtise \n"); printf("Date de naissance : Janvier 10, 2004\n"); printf("Tél : 0785463521\n"); 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
#include <stdio.h> int main() { float n1,n2,s; printf("Entrer 1er nombre:"); scanf("%f",&n1); printf("Entrer 2éme nombre:"); scanf("%f",&n2); s = n1 + n2 ; printf("La somme de %f et %f = %f",n1,n2,s); return 0; }
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
#include <stdio.h> int main() { int n1,n2,tmp; printf("Entrer un entier n1:"); scanf("%d",&n1); printf("Entrer un entier n2:"); scanf("%d",&n2); tmp = n1; n1 = n2; n2 = tmp; printf("------permutation------\n"); printf("n1 = %d\n",n1); printf("n2 = %d",n2); return 0; }
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
#include <stdio.h> int main() { int nbr,f=1,i; printf("Saisir un nombre:"); scanf("%d",&nbr); for(i=1; i<=nbr; i++){ f = f * i; } printf("Le factoriel de %d est: %d",nbr,f); return 0; }
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
#include <stdio.h> int main() { int nbr; printf("Entrer un nombre:"); scanf("%d",&nbr); if (nbr % 2 == 0) printf("Nombre pair"); else printf("Nombre impair"); return 0; }
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
#include <stdio.h> int main() { int n1,n2,n3,max; printf("Entrer 1er nombre:"); scanf("%d",&n1); printf("Entrer 2éme nombre:"); scanf("%d",&n2); printf("Entrer 3éme nombre:"); scanf("%d",&n3); max = n1; if (n2 >= max) max = n2; if (n3 >= max) max = n3; printf("Le nombre le plus grand est: %d",max); 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; }
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
#include <stdio.h> int main() { int n; printf("Entrer un nombre :"); scanf("%d",&n); if(n >= 0) printf("La valeur absolue de %d est %d",n,n); else printf("La valeur absolue de %d est %d",n,-n); 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
#include <stdio.h> int main() { int n1,n2,n3,moy; printf("Entrer 1er nombre:"); scanf("%d",&n1); printf("Entrer 2éme nombre:"); scanf("%d",&n2); printf("Entrer 3éme nombre:"); scanf("%d",&n3); moy = (n1 + n2 + n3) / 3 ; printf("La moyenne est: %d", moy); return 0; }
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
#include <stdio.h> int main() { int i=1; while(i <= 10 ) { printf("Hello\n"); i++; } return 0; }
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
#include <stdio.h> int main() { int i=1, sum=0; while(i <= 10){ sum = sum + i; i++; } printf("La somme de 1 à 10 est: %d\n", sum); return 0; }
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
#include <stdio.h> int main() { int i=1,sum=0,n; printf("Entrer un nombre:"); scanf ("%d",&n); while (i <= n) { sum = sum + i; i++; } printf("la somme de 1 à %d est: %d\n",n,sum); return 0; }
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
#include <stdio.h> int main() { int i; for (i= 0; i < 10; i++) { printf("Hello\n"); } return 0; }
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
#include <stdio.h> int main() { int i, sum=0; for (i=1; i<=10; i++){ sum = sum + i ; } printf("La somme de 1 à 10 est: %d" , sum); return 0; }
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
#include <stdio.h> int main() { int i,sum=0,n; printf("Entrer un nombre:"); scanf("%d",&n); for(i=1; i<=n; i++){ sum = sum + i; } printf("La somme de 1 à n est: %d",n,sum); return 0; }
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
#include <stdio.h> int main() { int i; for (i=0; i<=10 ; i++){ printf("3 x %d = %d \n",i,i*3); } return 0; }
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
#include <stdio.h> int main() { int i,n; printf("Entrer un entier:"); scanf("%d",&n); for(i=1; i<=10; i++){ printf("%d x %d = %d\n",n,i,i*n); } return 0; }
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
#include <stdio.h> int main() { int i=0; do { printf("Hello\n"); i++; } while (i<10); return 0; }
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
#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; }
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
#include <stdio.h> int main() { int i=0; do{ printf ("2 x %d = %d\n",i,i*2); i++; }while(i<10); 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
#include <stdio.h> int main() { int i,n; printf("Entrer un nombre: "); scanf("%d",&n); for(i=0; i<=n; i++){ if (i%2 == 0) printf(" %d ",i); } return 0; }
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
#include <stdio.h> int main() { int n,i,sum=0; printf("Entrer un nombre:"); scanf("%d",&n); for(i=1; i<=n; i++){ if(i%2 != 0) sum = sum + i; } printf("La somme des nombres impairs est: %d",sum); return 0; }
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
#include <stdio.h> int main() { int n1,n2,pgcd,i=1; printf("Entrer un nombre:"); scanf("%d",&n1); printf("Entrer un nombre:"); scanf("%d",&n2); while(i<=n1 && i<=n2){ if(n1%i==0 && n2%i==0){ pgcd = i; } i++; } printf("Le PGCD de %d et %d est:) = %d",n1,n2,pgcd); return 0; }
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
#include <stdio.h> int main() { int n,i,j; printf("Donner un nombre:"); scanf("%d",&n); for(i=1; i<=n; i++){ for(j=1; j<=i; j++){ printf("%d",i); } printf("\n"); } return 0; }
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
#include <stdio.h> int main() { int n,i=1; printf("Donner un nombre:"); scanf("%d",&n); while(n/10 != 0){ n = n/10; i = i+1; } printf("Le nombre de chiffres est %d",i); return 0; }