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

Dans ce programme, nous avons utilisé la fonction « printf » pour afficher la chaîne de caractères Hello, world! sur notre écran.

 
 

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

Ce programme invite l’utilisateur à saisir deux nombres, le format « %f » indique à scanf() de lire une valeur en virgule flottante. Puis les additionne, enfin affiche le résultat.

 
 

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

Ce programme déclare d’abord trois variables n1, n2 et tmp, puis demande à l’utilisateur de saisir deux nombres entiers. Ensuite, il utilise une variable temporaire tmp pour échanger les valeurs de n1 et n2, et enfin affiche les valeurs échangées.

 
 

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

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.

 
 

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

Si un nombre est divisible par 2 sans reste, il est pair. Vous pouvez calculer le reste à l'aide de l'opérateur modulo "%", comme ceci nbr % 2 == 0. Si un nombre divisé par 2 laisse un reste de 1, le nombre est impair. Vous pouvez le vérifier en utilisant nbr % 2 == 1.

 
 

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

Le programme ci-dessus demande à l'utilisateur un nombre de 1 à 5 jusqu'à ce que la réponse est correct.

 
 

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

La formule pour trouver la moyenne de nombres ou de valeurs donnés est très simple. Il suffit d'additionner tous les nombres et de diviser le résultat par le nombre de valeurs données. La formule pour calculer la moyenne est donc la suivante:

Moyenne = Total/Nombre

Ici, nous utilisons 3 nombres, donc pour calculer la moyenne, nous devons additionner les 3 nombres et les diviser par 3.

 
 

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

Dans ce programme, la boucle while 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.

 
 

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

Dans la boucle while 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.

Enfin, la boucle incrémente la valeur de i de 1, et le processus se répète jusqu'à ce que la condition i <= 10 ne soit plus vraie. Dans ce cas on affiche le message "La somme de 1 à 10 est: 55".

 
 

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

La boucle while 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.

 
 

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

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.

 
 

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

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.

 
 

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

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.

 
 

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

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

 
 

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

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

 
 

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

La principale différence entre la boucle "while" et "do while" est que dans la boucle "do while", la boucle s'exécute une fois avant même de vérifier la condition, alors que dans une boucle "while", la boucle s'exécute si la condition est vraie.

 
 

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

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.
 
 

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

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.
 
 

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

Dans ce programme, deux nombres entiers entrés par l'utilisateur sont stockés dans les variables n1 et n2. Ensuite, la boucle while est itérée jusqu'à ce que i soit inférieur à n1 et n2.

A chaque itération, si n1 et n2 sont exactement divisibles par i, la valeur de i est affectée à la variable "pgcd".

Lorsque la boucle while est terminée, le plus grand diviseur commun de deux nombres est stocké dans la variable "pgcd".

 
 

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

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

 
 

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

Le programme divise le nombre saisi par l'utilisateur par 10 dans la boucle while jusqu'à ce que le résultat atteigne zéro. Le nombre d'itérations correspondra au nombre de chiffres.

L'entier saisi par l'utilisateur est stocké dans la variable n. Ensuite, la boucle while est itérée jusqu'à ce que la condition (n/10 != 0) soit évaluée à 0 (False).

  • Après la première itération, la valeur de n est de 987 et le compteur est incrémenté à 1.
  • Après la deuxième itération, la valeur de n sera de 98 et le compteur sera incrémenté à 2.
  • Après la troisième itération, la valeur de n sera de 9 et le compteur sera incrémenté à 3.
  • Après la quatrième itération, la valeur de n sera 0 et le compteur sera incrémenté à 4.
  • La condition de la boucle est alors évaluée à false et la boucle se termine.
Veuillez voir les exercices de 31 à 40 sur ce lien.

 

Laisser un commentaire

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