400 Exercices Corrigés En C – Partie 10
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.
111. Écrire un programme en C pour afficher une forme de triangle droit avec un nombre qui s’incrémente de 1. En utilisant la boucle ‘for’.
Exemple de sortie:
Entrer le nombre de lignes: 4 1 2 3 4 5 6 7 8 9 10
#include <stdio.h>
int main() {
int i, j, n, k = 1;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
// Démarrer une boucle pour générer les lignes
for (i = 1; i <= n; i++) {
/* Boucle imbriquée pour afficher les étoiles en fonction
de la ligne actuelle */
for (j = 1; j <= i; j++){
// Afficher la valeur de k et incrémentez-le
printf("%d ", k++);
}
printf("\n"); // Passez à la ligne suivante
}
return 0;
}
112. Ecrivez un programme en C pour créer une pyramide avec des nombres qui s'incrémente de 1. En utilisant la boucle 'for'.
Exemple de sortie:
Entrer le nombre de lignes: 4 1 2 3 4 5 6 7 8 9 10
#include <stdio.h>
int main() {
int i, j, espace, n, k, t = 1;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
espace = n + 4 - 1; // Calculer le nombre initial d'espaces
// Démarrer une boucle pour générer les lignes
for (i = 1; i <= n; i++) {
//Boucle pour afficher les espaces avant les nombres
for (k = espace; k >= 1; k--) {
printf(" ");
}
//Boucle pour afficher les nombres basés sur la ligne actuelle
for (j = 1; j <= i; j++) {
printf("%d ", t++); // Afficher la valeur de 't' et l'incrémenter
}
printf("\n"); // Passez à la ligne suivante
espace--; // Décrémenter le nombre d'espaces pour la ligne suivante
}
return 0;
}
113. Ecrivez un programme C pour créer une pyramide avec des étoiles. En utilisant la boucle 'for'.
Exemple de sortie:
Entrer le nombre de lignes: 4 * * * * * * * * * *
#include <stdio.h>
int main() {
int i, j, espace, n, k, t = 1;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
espace = n + 4 - 1; // Calculer le nombre initial d'espaces
// Démarrer une boucle pour générer les lignes
for (i = 1; i <= n; i++) {
// Boucle pour afficher les espaces avant les nombres
for (k = espace; k >= 1; k--) {
printf(" ");
}
//Boucle pour afficher les nombres basés sur la ligne actuelle
for (j = 1; j <= i; j++) {
printf("* "); // Afficher une étoile suivie d'un espace
}
printf("\n"); // Passez à la ligne suivante
espace--; // Décrémenter le nombre d'espaces pour la ligne suivante
}
return 0;
}
114. Ecrivez un programme C pour afficher une pyramide des étoiles, chaque ligne contenant un nombre impair d'étoiles. En utilisant la boucle 'for'.
Exemple de sortie:
Entrer le nombre de lignes: 4 * *** *****
#include <stdio.h>
int main() {
int i, j, n;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
// Démarrer une boucle pour générer les lignes
for (i = 0; i < n; i++)
{
// Boucle pour afficher les espaces avant les étoiles
for (j = 1; j <= n - i; j++)
printf(" ");
// Boucle pour afficher les étoiles
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
// Passer à la ligne suivante après avoir affiché chaque ligne
printf("\n");
}
return 0;
}
115. Ecrivez un programme C pour créer une pyramide avec un nombre qui répétera le nombre dans la même ligne. En utilisant la boucle 'for'.
Exemple de sortie:
Entrer le nombre de lignes: 4 1 2 2 3 3 3 4 4 4 4
#include <stdio.h>
int main() {
int i, j, espace, n, k;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
espace = n + 4 - 1; // Calculer le nombre initial d'espaces
// Démarrer une boucle pour générer les lignes
for (i = 1; i <= n; i++)
{
// Boucle pour afficher les espaces
for (k = espace; k >= 1; k--)
{
printf(" ");
}
//Boucle pour afficher les nombres
for (j = 1; j <= i; j++)
{
printf("%d ", i);
}
printf("\n"); // Passez à la ligne suivante
espace--; // Décrémenter le nombre d'espaces pour la ligne suivante
}
return 0;
}
116. Ecrivez un programme en C pour afficher le triangle de Floyd. En utilisant la boucle 'for'.
Exemple de sortie:
Entrer le nombre de lignes: 5 1 01 101 0101 10101
#include <stdio.h>
int main() {
int i, j, p, q, n;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
// Démarrer une boucle pour générer les lignes
for (i = 1; i <= n; i++)
{
if (i % 2 == 0) // Vérifier si 'i' est pair.
{
p = 1;
q = 0;
}
else // Si 'i' est impair.
{
p = 0;
q = 1;
}
// Boucler sur chaque élément de la ligne
for (j = 1; j <= i; j++)
{
if (j % 2 == 0) // Vérifier si 'j' est pair
printf("%d", p); // Afficher 'p' si 'j' est pair
else
printf("%d", q); // Afficher 'q' si 'j' est impair
}
// Passer à la ligne suivante après avoir affiché la ligne
printf("\n");
}
return 0;
}
117. Écrire un programme en C pour afficher un dessin comme un diamant. En utilisant la boucle 'for'.
Exemple de sortie:
Entrer le nombre de lignes (moitié du diamant): 5
*
***
*****
*******
*********
*******
*****
***
*
#include <stdio.h>
int main() {
int i, j, n;
printf("Entrer le nombre de lignes (moitié du diamant):");
scanf("%d", &n);
// Boucle pour afficher la moitié supérieure du diamant
for (i = 0; i <= n; i++) {
// Boucle pour afficher les espaces avant les étoiles
for (j = 1; j <= n - i; j++)
printf(" ");
// Boucle pour afficher les étoiles
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
// Passez à la ligne suivante après avoir terminé la ligne
printf("\n");
}
// Boucle pour afficher la moitié inférieure du diamant
for (i = n - 1; i >= 1; i--) {
// Boucle pour afficher les espaces avant les étoiles
for (j = 1; j <= n - i; j++)
printf(" ");
// Boucle pour afficher les étoiles
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
// Passez à la ligne suivante après avoir terminé la ligne
printf("\n");
}
return 0;
}
118. Écrire un programme C pour afficher le triangle de Pascal. En utilisant la boucle 'for'.
Exemple de sortie:
Entrer le nombre de lignes: 5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#include <stdio.h>
int main() {
int n, c = 1, espace, i, j;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
// Démarrer une boucle pour générer les lignes
for (i = 0; i < n; i++) {
// Boucle pour afficher les espaces
for (espace = 1; espace <= n - i; espace++)
printf(" ");
//Boucle pour afficher les nombres
for (j = 0; j <= i; j++) {
// S'il s'agit de la 1er colonne ou de la 1er ligne, mettez c à 1
if (j == 0 || i == 0)
c = 1;
else
c = c * (i - j + 1) / j; // Calculer la valeur suivante
printf("% 4d", c); // Afficher la valeur
}
printf("\n"); // Passez à la ligne suivante
}
return 0;
}
119. Ecrivez un programme C pour afficher un tel schéma pour n lignes en utilisant un nombre qui commence par 1 et chaque ligne aura un 1 comme premier et dernier chiffre.
Exemple de sortie:
Entrer le nombre de lignes: 3 1 121 12321
#include <stdio.h>
int main()
{
int i, j, n;
printf("Entrer le nombre de lignes:");
scanf("%d", &n);
// Démarrer une boucle pour générer les lignes
for(i = 0; i <= n; i++)
{
//Boucle pour afficher les espaces avant les nombres
for(j = 1; j <= n - i; j++)
printf(" ");
//Boucle pour afficher les nombres dans l'ordre croissant
for(j = 1; j <= i; j++)
printf("%d", j);
//Boucle pour afficher les nombres dans l'ordre décroissant
for(j = i - 1; j >= 1; j--)
printf("%d", j);
//Passer à la ligne suivante après avoir affiché une ligne
printf("\n");
}
return 0;
}
120. Ecrivez un programme C pour afficher le dessin de la pyramide à l'aide des alphabets.
Exemple de sortie:
Entrer le nombre de lettres: 4
A
A B A
A B C B A
A B C D C B A
#include <stdio.h>
int main()
{
int i, j, n, espace, compteur = 1;
char lettre = 'A';
printf("Entrer le nombre de lettres: ");
scanf("%d", &n);
// Démarrer une boucle pour générer les lignes
for (i = 1; i <= n; i++)
{
// Boucle pour afficher les espaces avant les lettres
for(espace = 1; espace <= n - i; espace++)
printf(" ");
// Boucle pour afficher les lettres dans l'ordre croissant
for (j = 0; j <= (compteur / 2); j++)
{
printf("%c ", lettre++);
}
// Décrémenter le caractère après avoir affiché la moitié
lettre = lettre - 2;
// Boucle pour afficher les lettres dans l'ordre décroissant
for (j = 0; j < (compteur / 2); j++)
{
printf("%c ", lettre--);
}
// Incrémente le compteur pour la ligne suivante
compteur = compteur + 2;
// Remettre le caractère à "A" pour la ligne suivante
lettre = 'A';
//Passer à la ligne suivante après avoir affiché la ligne
printf("\n");
}
return 0;
}
