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

