Exercices Corrigés En C – Boucle for

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 « 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; 
}

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.

 
 

2. 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; 
}

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.

 
 

3. 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; 
}

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.

 
 

4. É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; 
}

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é.

 
 

5. É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; 
}

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é.

 
 

6. É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; 
}

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.

 
 

7. É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; 
}

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.
 
 

8. 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; 
}

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.
 
 

9. É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; 
}

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".

 
 

10. Écrire un programme en C pour afficher les 10 premiers nombres naturels.

Exemple de sortie:

Les 10 premiers entiers naturels sont:
1 2 3 4 5 6 7 8 9 10
#include <stdio.h>

int main() {
    int i;

    printf("Les 10 premiers entiers naturels sont:\n");

    for (i = 1; i <= 10; i++) {
        printf("%d ", i);
    }

    // Renvoyer 0 pour indiquer que l'exécution est réussie
    return 0;
}
 
 

11. Écrire un programme C pour calculer la somme des 10 premiers nombres naturels.

Exemple de sortie:

Les 10 premiers entiers naturels sont:
1 2 3 4 5 6 7 8 9 10
La somme est: 55
#include <stdio.h>

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

    printf("Les 10 premiers entiers naturels sont:\n");
 
    for (i = 1; i <= 10; i++)
    {
        s = s + i;
        printf("%d ",i);    
    }
    printf("\nLa somme est: %d", s);
}
 
 

12. Écrire un programme en C pour afficher n éléments du nombre naturel et leur somme.

Exemple de sortie:

Entrée le nombre des éléments: 5

Les 5 premiers entiers naturels sont:
1 2 3 4 5 
La somme des nombres naturels jusqu'à 5 termes est 15.
#include <stdio.h>

int main() {
    int i, n, s=0;

    printf("Entrée le nombre des éléments:");
    scanf("%d", &n);

    printf("\nLes %d premiers entiers naturels sont:\n", n);

    // Démarrez une boucle for pour itérer de 1 à 'n'
    for (i = 1; i <= n; i++) {  
        // Afficher la valeur actuelle de "i"
        printf("%d ", i);
        // Ajouter la valeur actuelle de "i" à la somme
        s += i;  
    }

    printf("\nLa somme des nombres naturels jusqu'à %d termes est %d.", n, s);
    return 0;
}
 
 

13. Écrire un programme en C pour lire 10 nombres à partir du clavier et trouver leur somme et leur moyenne.

Exemple de sortie:

Saisir les 10 nombres:
Nombre-1: 2
Nombre-2: 6
....
Nombre-10: 3
La somme est: 45
La moyenne est: 4.500000
#include <stdio.h>

int main() {
    int i, n, s=0;
    float m;

    printf("Saisir les 10 nombres:\n");

    for (i = 1; i <= 10; i++) {
        printf("Nombre-%d:", i);

        scanf("%d", &n); 
        s += n;
    }

    m = s / 10.0;  // Calculer la moyenne

    printf("La somme est:%d\nLa moyenne est:%f",s,m);
    return 0;
}
 
 

14. Écrire un programme en C pour afficher le cube du nombre jusqu'à un entier N donné en utilisant la boucle 'for'.

Exemple de sortie:

Entrée le nombre des éléments: 4
Le nombre est: 1 et le cube de 1 est: 1
Le nombre est: 2 et le cube de 2 est: 8
Le nombre est: 3 et le cube de 3 est: 27
Le nombre est: 4 et le cube de 4 est: 64
#include <stdio.h>

int main() {
    int i, n;

    printf("Entrée le nombre des éléments:");
    scanf("%d", &n);

    for (i = 1; i <= n; i++) {
        printf("Le nombre est: %d et le cube de %d est: %d\n",i,i,(i*i*i));
    }
    return 0;
}
 
 

15. Écrire un programme en C pour afficher une forme de triangle droit à l'aide des é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 des étoiles
    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 une étoile
            printf("*");  
        } 
        printf("\n"); // Passez à la ligne suivante
    }
    return 0;
}
 
 

16. Écrire un programme en C pour afficher une forme de triangle droit à l'aide des nombres. En utilisant la boucle 'for'.

Exemple de sortie:

Entrer le nombre de lignes: 4
1
12
123
1234
#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 des étoiles
    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 j
            printf("%d", j);  
        } 
        printf("\n"); // Passez à la ligne suivante
    }
    return 0;
}
 
 

17. Écrire un programme en C pour afficher une forme de triangle droit avec un nombre qui répétera un nombre dans une ligne. En utilisant la boucle 'for'.

Exemple de sortie:

Entrer le nombre de lignes: 4
1
22
333
4444
#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 des étoiles
    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 i
            printf("%d", i);  
        } 
        printf("\n"); // Passez à la ligne suivante
    }
    return 0;
}
 
 

18. É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;
}
 
 

19. 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; 
}
 
 

20. 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; 
}
 
 

21. 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;
}
 
 

22. 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;
}
 
 

23. 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;
}
 
 

24. É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;
}
 
 

25. É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;
}
 
 

26. 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;
}
 
 

27. 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;
}
 
 

28. Écrire un programme C pour afficher la somme de n termes de nombres naturels pairs.

Exemple de sortie:

Entrez le nombre de termes: 5 
Les nombres pairs sont: 2 4 6 8 10 
La somme des nombres pairs jusqu'à 5 termes est 30
#include <stdio.h>

int main() {
    int i, n, s=0;

    printf("Entrez le nombre de termes:");
    scanf("%d", &n);

    if (n <= 0) {
        printf("Le nombre de termes doit être un nombre entier positif.");
        return 1;  // Quitter le programme avec un code d'erreur.
    }

    printf("\nLes nombres pairs sont:");

    // Démarrer une boucle pour générer des nombres pairs
    for (i = 1; i <= n; i++) {  
        // Calculer le nombre pair
        int pair = 2 * i;  
        // Affichez le nombre pair
        printf("%d ", pair); 
        // Ajoutez le nombre pair à la somme
        s += pair;  
    }

    printf("\nLa somme des nombres pairs jusqu'à %d termes est %d\n",n,s);

    return 0; // Renvoyer 0 pour indiquer que l'exécution est réussie
}
 
 

29. Ecrivez un programme en C pour trouver la somme de la série [1 - X^2/2! + X^4/4! - ...].

Exemple de sortie:

Entrer la valeur de x: 4
Entrer le nombre de termes: 10
La somme = -0.653644
Valeur de x = 4.000000
#include <stdio.h>

int main() {
    float x, tmp, d, s; 
    int i, n; 

    printf("Entrer la valeur de x:");
    scanf("%f", &x); 

    printf("Entrer le nombre de termes:");
    scanf("%d", &n);

    /* Initialiser 's' à 1, car le premier terme 
       est toujours égal à 1 */
    s = 1;  
    //Initialiser 't' à 1 pour le premier terme
    tmp = 1; 

    // Boucle pour calculer la somme des séries
    for (i = 1; i < n; i++) {
        // Calculer le dénominateur du terme
        d = (2 * i) * (2 * i - 1);
        // Calculer la valeur du terme
        tmp = -tmp * x * x / d;    
        // Additionner le terme à la somme		
        s = s + tmp;             
    }

    printf("\nLa somme = %f\nValeur de x = %f", s, x);

    return 0; 
}
 
 

30. Ecrivez un programme en C pour afficher les n termes d'une série harmonique et leur somme. 1 + 1/2 + 1/3 + 1/4 + 1/5 ... 1/n termes.

Exemple de sortie:

Entrer le nombre de termes: 6
1/1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6
Somme des séries jusqu'à 6 termes est 2.450000
#include <stdio.h>

int main() {
    int i, n;
    float sum = 0.0; //utilisé pour cumuler la somme

    printf("Entrer le nombre de termes:");
    scanf("%d", &n);

    // Boucle pour calculer la somme des séries
    for (i = 1; i <= n; i++) {
        if (i < n) {
            // Afficher le terme avec un signe plus
            printf("1/%d + ", i);
            // Calculer et ajouter le terme à la somme			
            sum += 1 / (float)i;       
        }
        if (i == n) {
            // Afficher le dernier terme sans le signe plus
            printf("1/%d ", i);
            // Calculer et ajouter le terme à la somme			
            sum += 1 / (float)i;
        }
    }

    printf("\nSomme des séries jusqu'à %d termes est %f", n, sum);

    return 0;
}
 
 

31. Ecrivez un programme en C pour afficher la somme de la série [ 5 + 55 + 555 + 5555 ...].

Exemple de sortie:

Entrer le nombre de termes: 6
5 55 555 5555 55555 555555
La somme de la série est 617280
#include <stdio.h>

int main() {
    long int n, i, tmp=5;
    int s=0; // pour stocker la somme

    printf("Entrer le nombre de termes:");
    scanf("%ld", &n);

    // Boucle sur le nombre de termes
    for (i = 1; i <= n; i++) 
    {
        s += tmp; // Ajouter 'tmp' à la somme
        // Afficher la valeur actuelle de 'tmp'
        printf("%ld  ", tmp); 
        // Mettre à jour 'tmp' pour la prochaine itération
        tmp = tmp * 10 + 5; 
    }

    printf("\nLa somme de la série est %d", s);

    return 0;
}
 
 

32. Ecrivez un programme en C pour trouver la somme de la série [x - x^3 + x^5 + ...].

Exemple de sortie:

Entrer la valeur de x: 4
Entrer le nombre de termes: 10
La somme = 54.154144
#include <stdio.h>

int main() {
    int i, n;
    float x, n, s;

    printf("Entrer la valeur de x:");
    scanf("%f", &x);

    printf("Entrer le nombre de termes:");
    scanf("%d", &n);

    s = 1; //Initialiser 's' à 1 comme premier terme de la série
    n = 1; //Initialiser 'n' à 1 pour le calcul du premier terme

    //Boucle pour calculer les termes suivants de la série
    for (i = 1; i < n; i++)
    {
        //Calculez le terme suivant à l'aide de la formule donnée
        n = n * x / (float)i; 
        s = s + n; //Ajouter le terme à la somme courante
    }

    printf("\nLa somme = %f", s);

    return 0;
}
 
 

33. Ecrivez un programme C pour vérifier si un nombre donné est un nombre "parfait" ou non.

Un nombre parfait est un nombre entier positif qui est égal à la somme de ses diviseurs positifs, à l'exclusion du nombre lui-même. Exemple:

Exemple de sortie:

Entrer le nombre: 80
Le diviseur positif: 1  2  4  5  8  10  16  20  40
La somme du diviseur est: 106 
Le nombre n'est donc pas parfait.
#include <stdio.h>

int main()
{
  int n, i, s;
  s = 0; // Initialiser la variable de somme

  printf("Entrer le nombre:");
  scanf("%d", &n);

  printf("Le diviseur positif:");

  // Boucle pour trouver et afficher les diviseurs positifs
  for (i = 1; i < n; i++)
  {
    if (n % i == 0) // Si 'i' est un diviseur de 'n'
    {
      s = s + i; // Ajoutez "i" à la somme
      printf("%d  ", i); //Afficher 'i' en tant que diviseur positif
    }
  }

  printf("\nLa somme du diviseur est: %d", s);

  //Vérifiez si la somme des diviseurs est égale au nombre original
  if (s == n)
    printf("\nLe nombre est donc parfait.");
  else
    printf("\nLe nombre n'est donc pas parfait.");

  return 0;
}
 
 

34. Écrire un programme C pour trouver les nombres "parfaits" compris dans un intervalle donné.

Exemple de sortie:

Entrer la plage de départ: 1 
Entrer la plage de fin: 50 
Les nombres parfaits dans l'intervalle donné sont 6 28
#include <stdio.h>

int  main(){
  int n, i, sum;
  // Variables pour les plages de départ et de fin des nombres
  int start, end;    

  printf("Entrer la plage de départ:");
  scanf("%d", &start);

  printf("Entrer la plage de fin:"); 
  scanf("%d", &end);

  printf("Les nombres parfaits dans l'intervalle donné sont ");

  // Boucle sur les nombres de la plage spécifiée.
  for(n = start; n <= end; n++){
    i = 1; // Initialiser le diviseur.
    sum = 0; // Initialiser la somme des diviseurs.

    // Si le diviseur est inférieur au nombre testé.
    while(i < n){ 
      if(n % i == 0) // Si 'i' est un diviseur de 'n'.
           sum = sum + i; // Ajoutez "i" à la somme.

      i++; // Incrémente le diviseur.
    }

    // Si la somme des diviseurs est égale au nombre original
    if(sum == n)
      printf("%d ", n); // Affichez le nombre parfait
  }

   return 0;  
}
 
 

35. Écrire un programme C pour vérifier si un nombre donné est un nombre Armstrong ou non.

Lorsque la somme du cube des chiffres d'un nombre est égale à ce nombre, on parle de nombre d'Armstrong. Par exemple, 153 est un nombre d'Armstrong car 153 = 13 + 53 + 33.

Exemple de sortie:

Entrer un nombre: 153
153 est un nombre Armstrong.
#include <stdio.h>

void main(){
    int n, r, s=0, tmp;

    printf("Entrer un nombre:");
    scanf("%d",&n);

    // Lancer une boucle pour extraire les chiffres du nombre.
    for(tmp = n; n != 0; n = n/10){
         r = n % 10; // Récupère le dernier chiffre du nombre.
         s = s + (r*r*r); //Calculez la somme des cubes de chaque chiffre
    }

    //Si la somme des cubes des chiffres est égale au nombre original
    if(s == tmp)
         printf("%d est un nombre Armstrong.",tmp);
    else
         printf("%d n'est pas un nombre Armstrong.",tmp);
}
 
 

36. Écrire un programme C pour trouver le nombre Armstrong compris dans un intervalle donné.

Exemple de sortie:

Entrer la plage de départ: 1 
Entrer la plage de fin: 400 
Les nombres Armstrong dans l'intervalle donné sont 1 153 370 371
#include <stdio.h>

int main() {
    int n, r, s, tmp;
    int start, end;

    printf("Entrer la plage de départ:");
    scanf("%d", &start);

    printf("Entrer la plage de fin:");
    scanf("%d", &end); 

    printf("Les nombres Armstrong dans l'intervalle donné sont ");

    //Démarrer une boucle pour parcourir les nombres de la plage spécifiée
    for (n = start; n <= end; n++) {
        tmp = n; // Fixer 'tmp' au nombre actuel pour le manipuler.
        s = 0; // Initialiser 's' à zéro.

        // Démarrer une boucle pour extraire les chiffres de 'tmp'.
        while (tmp != 0) {
            r = tmp % 10; // Récupère le dernier chiffre de 'tmp'.
            tmp = tmp / 10; // Supprimer le dernier chiffre de 'tmp'.
            s = s + (r * r * r); //Calculez la somme des cubes de chaque chiffre
        }

        /* Si la somme des cubes des chiffres est égale au nombre
        original, le nombre est affiché comme un nombre d'Armstrong. */
        if (s == n)
            printf("%d ", n);
    }

    return 0;
}
 
 

37. Écrire un programme en C pour convertir un nombre décimal en binaire.

Exemple de sortie:

Entrer un nombre décimal: 5
Le nombre binaire est: 101
#include <stdio.h>
#include <stdlib.h>

int main(){  
	int tab[10],n,i;    

	printf("Entrer un nombre décimal:");    
	scanf("%d",&n); 
	
	for(i=0;n>0;i++)    
	{   
		tab[i]=n%2;    
		n=n/2;    
	} 
	
	printf("\nLe nombre binaire est:");    
	for(i=i-1; i>=0; i--)    
	{   
		printf("%d",tab[i]);    
	}    
	return 0;  
}
Voir ici comment convertir un nombre décimal en binaire
 

Laisser un commentaire

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