400 Exercices Corrigés En C – Partie 2
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.
31. Ecrivez un programme en C pour inverser les chiffres d’un nombre saisi par l’utilisateur.
Exemple de sortie:
Donner un nombre: 123 321
#include <stdio.h> int main() { int Nbr,rev=0; printf("Donner un nombre:"); scanf("%d",&Nbr); while(Nbr > 0){ rev = rev * 10; rev = rev + Nbr%10; Nbr = Nbr/10; } printf("%d",rev); return 0; }
32. Écrire un programme en C permettant d’entrer un nombre et d’afficher le triangle d’étoiles.
Exemple de sortie:
Entrez un nombre: 5 * *** ***** ******* *********
#include <stdio.h> int main() { int Nbr,i,j; printf("Entrez un nombre:"); scanf("%d",&Nbr); for(i=0; i < Nbr; i++){ for(j=1; j <= (Nbr*2)-1; j++){ if (j >= Nbr-i && j <= Nbr+i) printf("*"); else printf(" "); } printf("\n"); } return 0; }
33. Écrire un programme en C qui permet de savoir si le nombre saisi est Premier ou non. (Un nombre premier est un nombre uniquement divisible par 1 ou par lui-même).
Exemple de sortie:
Entrer un nombre : 29 29 est un nombre premier Entrer un nombre : 21 21 n'est pas un nombre premier
21 a quatre diviseurs (1, 3, 7 et 21) donc ce n'est pas un nombre premier.
#include <stdio.h> int main() { int i=2,Nbr; printf("Entrer un nombre :"); scanf("%d",&Nbr); while(Nbr%i != 0 && i < Nbr){ i++; } if (i == Nbr) printf("%d est un nombre premier",Nbr); else printf("%d n'est pas un nombre premier",Nbr); return 0; }
34. Ecrivez un programme en C qui permet de saisir 5 nombres dans un tableau. Comptez ensuite le nombre d'éléments pairs et impairs.
Exemple de sortie:
Entrer un nombre: 1 Entrer un nombre: 3 Entrer un nombre: 2 Entrer un nombre: 6 Entrer un nombre: 9 Total des éléments pairs: 2 Total des éléments impaires: 3
#include <stdio.h> int main() { int i,pair=0,impair=0,tab[5]; for(i=0; i<5; i++){ printf("Entrer un nombre:"); scanf("%d",&tab[i]); } for(i=0; i<5; i++){ if(tab[i]%2==0) pair++; else impair++; } printf("Total des éléments pairs: %d\n",pair); printf("Total des éléments impaires: %d",impair); return 0; }
35. Ecrivez un programme en C qui demande d'entrer un tableau Tab de 10 nombres, et de placer les éléments pairs dans un tableau Tab1 et les éléments impairs dans un tableau Tab2. Affichez ensuite Tab1 et Tab2.
Exemple de sortie:
Tab : 1 5 2 4 9 3 3 6 8 7 Tab1: 2 4 6 8 Tab2: 1 5 9 3 3 7
#include <stdio.h> int main() { int tab[10],tab1[10],tab2[10],i,j=0,k=0; //Stocker les éléments dans le tableau original for(i=0; i < 10; i++) { printf("Entrer un nombre:"); scanf("%d",&tab[i]); } for(i=0; i < 10; i++) { if(tab[i]%2 == 0){ //Stocker les éléments paires tab1[j] = tab[i]; j++; } else{ //Stocker les éléments impaires tab2[k] = tab[i]; k++; } } //Afficher le tableau 1 for(i=0; i < j ; i++){ printf("%d ",tab1[i]); } printf("\t"); //Afficher le tableau 2 for(i=0; i < k; i++){ printf("%d ",tab2[i]); } return 0; }
36. Écrire un programme en C qui lit un caractère et détermine si c'est une lettre ou non, dans le cas d'une lettre, il indique si c'est une minuscule ou une majuscule.
Exemple de sortie:
Donnez une lettre: a C'est une lettre Minuscule Donnez une lettre: A C'est une lettre Majuscule Donnez une lettre: 5 C'est pas une lettre!
#include <stdio.h> int main() { char l; printf("Donnez une lettre:"); scanf("%c",&l); if (l >= 65 && l <= 90){ printf("C'est une lettre Majuscule"); } else { if (l >= 97 && l <= 122) printf("C'est une lettre Minuscule"); else printf("C'est pas une lettre!"); } return 0; }
37. Écrire un programme en C qui compte le nombre d'éléments dupliqués dans un tableau de nombres entiers saisi par l'utilisateur.
Exemple de sortie:
Entrer un nombre: 5 Entrer un nombre: 1 Entrer un nombre: 5 Entrer un nombre: 6 Entrer un nombre: 3 Entrer un nombre: 5 Entrer un nombre: 4 Entrer un nombre: 7 Entrer un nombre: 9 Entrer un nombre: 5 Nombre total d'éléments dupliqués est: 4
#include <stdio.h> int main() { int tab[10],i,j,compteur=0; for(i=0; i<10; i++){ printf("Enter un nombre:"); scanf("%d",&tab[i]); } for(i=0; i<10; i++){ for(j=i+1; j<10; j++){ if (tab[i] == tab[j]){ compteur++; } } } printf("Nombre total d'éléments dupliqués est: %d",compteur) ; return 0; }
38. Écrire un programme en C qui prend deux entiers de l'utilisateur (un nombre de base et un exposant) et calcule la puissance.
Exemple: Dans le cas de 23
- 2 est le nombre de base
- 3 est l'exposant
- Et la puissance est égale à 2*2*2
Exemple de sortie:
Entrer la base: 2 Entrer l'exposant: 3 2 ^ 3 = 8
#include <stdio.h> int main() { int e, i; float puissance,b; puissance = 1; printf("Entrer la base:"); scanf("%f",&b); printf("Entrer l'exposant:"); scanf("%d",&e); for(i=1; i<=e; i++){ puissance = puissance * b; } printf("%.1f ^ %d = %.1f",b,e,puissance); return 0; }
39. Écrire un programme en C qui permet d'entrer 10 nombres entiers et de savoir si ces nombres entiers sont successifs ou non.
Exemple de sortie:
0 1 3 4 5 6 7 8 9 Les nombres ne sont pas successives 11 12 13 Les nombres sont successives
#include <stdio.h> int main() { int check=0,i,tab[10]; printf("Entrer un nombre:"); scanf("%d",&tab[0]); for(i=1; i<=9; i++){ printf("Entrer un nombre:"); scanf("%d",&tab[i]); if (tab[i] < tab[i-1]){ check=1; } } if (check==0) printf("Les nombres sont successives"); else printf("Les nombres ne sont pas successives"); return 0; }
40. Ecrivez un programme en C qui demande l'âge et permet de renseigner sa catégorie sachant que les catégories sont les suivantes:
- Gamin de 6 à 7 ans
- Pupille de 8 à 9 ans
- Jeune de 10 à 11 ans
- Cadet après 12 ans
Exemple de sortie:
Entrer votre age : 6 Vous êtes Gamin
#include <stdio.h> int main() { int age; printf("Entrer votre age :"); scanf("%d",&age); if(age >= 6 && age <= 7) printf("Vous êtes Gamin"); if(age >= 8 && age <= 9) printf("Vous êtes Pupille"); if(age >= 10 && age <= 11) printf("Vous êtes Jeune"); if(age >= 12) printf("Vous êtes Cadet"); return 0; }