.
Exercices de programmation en C
Exercice n°1 : Analyse des programmes
Programme |
Code |
Programme a |
#include <stdio.h>
int main () {
printf ("*****\n");
printf ("****\n");
printf ("**\n");
printf ("*\n");
return 0;
}
|
Programme b |
#include <stdio.h>
int main () {
printf ("*****\n");
printf ("* *\n");
printf ("* *\n");
printf ("* *\n");
printf ("*****\n");
return 0;
}
|
Programme c |
#include <stdio.h>
int main () {
float a, b, max;
printf("Enter two numbers: ");
scanf("%f", &a);
scanf("%f", &b);
if (a < b) {
max = b;
} else {
max = a;
}
printf("maximum = %f", max);
return 0;
}
|
Programme d |
#include <stdio.h>
int main () {
float a, b, c, sum;
printf("Enter three numbers: ");
scanf("%f", &a);
scanf("%f", &b);
scanf("%f", &c);
sum = a + b + c;
printf("sum = %f", sum);
return 0;
}
|
Exercice n°2 : Valeur absolue
1. Ecrire un programme qui lit la moyenne d'un étudiant et affiche "Échec" si elle est inférieure à 10, sinon "Succès".
2. Ecrire un programme qui lit le rayon d’un cercle et affiche sa surface.
3. Ecrire un programme qui lit un entier et affiche sa valeur absolue.
Exercice n°3 : Volume d'une sphère
Ecrire un programme en C qui calcule le volume d'une sphère étant donné son rayon. La formule à utiliser est : \( V = \frac{4}{3} \times \pi \times r^3 \).
Exercice n°4 : Conversion Fahrenheit en Celsius
Ecrire un programme en C qui convertit les degrés Fahrenheit en degrés Celsius selon la formule : \( T_C = \frac{5}{9} \times (T_F - 32) \).
Exercice n°5 : Fonction à une variable
Ecrire un programme qui lit un nombre au clavier et affiche son image par la fonction définie par : \( f(x) = x^2 + 2x + 1 \).
Exercice n°6 : Fonction par morceaux à une variable
Ecrire un programme qui lit un nombre au clavier et affiche son image par la fonction définie par :
- \( f(x) = x^2 + 2x + 1 \) si \( x < 4 \)
- \( f(x) = x^2 \) si \( 4 \leq x \leq 40 \)
- \( f(x) = x + 1 \) si \( x > 40 \).
Exercice n°7 : Fonction à deux variables
Ecrire un programme qui lit deux nombres au clavier et affiche l'image de ces deux nombres par la fonction définie par : \( g(x, y) = x^2 + y^2 + 2xy + 1 \).
Exercice n°8 : Transport cost
Write a program that reads the transport cost per kilometer and the distance (in kilometers), then displays the overall transport cost.
Exercice n°9 : Maximum, minimum et moyenne
Ecrire un programme C qui lit trois nombres au clavier et affiche leur maximum, leur minimum et leur moyenne.
Exercice n°10 : Nombre pair ou impair
Ecrire un programme C qui lit un nombre entier au clavier et détermine s'il est pair ou impair.
Exercice n°11 : Mention d'un étudiant
Ecrire un programme qui lit la moyenne d'un étudiant et affiche sa mention selon les critères suivants :
1. Si la moyenne est inférieure à 10, la mention est "Médiocre".
2. Si la moyenne est comprise entre 10 et 12, la mention est "Passable".
3. Si la moyenne est comprise entre 12 et 14, la mention est "Assez Bien".
4. Si la moyenne est comprise entre 14 et 16, la mention est "Bien".
5. Si la moyenne est comprise entre 16 et 18, la mention est "Très Bien".
6. Si la moyenne est comprise entre 18 et 20, la mention est "Excellent".
Exercice n°12 : Année bissextile
Ecrire un programme qui lit une année et détermine si elle est bissextile ou non selon les règles suivantes :
- Une année n'est pas bissextile si elle n'est pas divisible par 4.
- Si elle est divisible par 4, elle est bissextile sauf si elle est divisible par 100 mais pas par 400.
Exercice n°13 : En toute lettre
Ecrire un programme qui demande à l'utilisateur de taper un chiffre et qui l'écrit ensuite en toute lettre à l'écran (de 0 à 9).
Exercice n°14 : Échelle de Richter
Ecrire un programme qui demande à l'utilisateur de saisir un nombre correspondant à l'échelle de Richter et qui affiche la description associée à ce nombre.
Si le nombre est inférieur à 1, cela signifie une erreur de saisie. Si le nombre est supérieur à 9, cela indique l'apocalypse.
Exercice n°15 : Échange de valeurs
Ecrire un programme qui échange les valeurs de deux variables \( a \) et \( b \).
Exercice n°16 : Équation du premier degré
Ecrire un programme qui résout l'équation \( ax + b = 0 \). Considérer les cas suivants :
- Si \( a = 0 \) et \( b = 0 \), il y a une infinité de solutions.
- Si \( a = 0 \) et \( b \neq 0 \), il n'y a pas de solution.
- Si \( a \neq 0 \), il y a exactement une solution.
Exercice n°17 : Équation du second degré
Ecrire un programme qui résout l'équation \( ax^2 + bx + c = 0 \). Considérer les cas suivants :
1. Si \( a = b = c = 0 \), il y a une infinité de solutions.
2. Si \( a = b = 0 \) et \( c \neq 0 \), il n'y a pas de solution.
3. Si \( a = 0 \) et \( b \neq 0 \), il y a exactement une solution.
4. Si \( a \neq 0 \), calculer le discriminant \( \Delta = b^2 - 4ac \) :
- Si \( \Delta < 0 \), il n'y a pas de solution.
- Si \( \Delta = 0 \), il y a une solution unique.
- Si \( \Delta > 0 \), il y a deux solutions.
Exercice n°18 : Calculatrice
Ecrire un programme qui se comporte comme une calculatrice. Le programme lit deux nombres et un opérateur arithmétique (+, *, /, -) puis affiche le résultat de l'opération.
Exercice n°19 : Salaire
Ecrire un programme qui lit le nombre de points d'indices d'un salarié et affiche son salaire. La valeur des points d'indices est de 3000F pour les points inférieurs à 1000 et de 2500F pour les points supérieurs ou égaux à 1000.
Exercice n°20 : Intersection de deux intervalles
Ecrire un programme qui demande à l'utilisateur de saisir quatre entiers \( A, B, C, D \), puis qui indique l'intersection des intervalles \([A, B]\) et \([C, D]\). Les cas à considérer sont :
1. Si \( \text{max}(A, C) = \text{min}(B, D) \), l'intersection est un point.
2. Si \( \text{max}(A, C) < \text{min}(B, D) \), l'intersection est un intervalle.
3. Si \( \text{max}(A, C) > \text{min}(B, D) \), l'intersection est vide.