400 Exercices Corrigés En C – Partie 11

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.

 
 

 

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

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

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

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

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

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

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

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

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

130. É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 *