Académique Documents
Professionnel Documents
Culture Documents
CAHIER D’EXERCICES 1
Les structures alternatives et
répétitives
Pour tester les programmes écris ci-dessous, utilisez un compilateur en
ligne :
https://www.programiz.com/c-programming/online-compiler/
Exercice 1 : étant donné 3 notes de coefficient respectivement 0.1, 0.2 et 0.8.
Calculer la moyenne, puis on déduire la mention sachant que :
Intervalle de moyenne Mention
moyenne<8 Refusé
8<=moyenne<10 Contrôle
Moyenne>10 Admis
#include <stdio.h>
#include <math.h>
int main() {
float n1, n2,n3,moyenne;
do{
printf("Note1 = ");
scanf("%f", &n1);
}
while(n1>20 || n1<0);
do{
printf("Note2 = ");
scanf("%f", &n2);
}
while(n2>20 || n2<0);
do{
printf("Note3 = ");
Page 1 sur 6
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
scanf("%f", &n3);
}
while(n3>20 || n3<0);
moyenne = n1*0.1 + n2*0.2 + n3*0.7;
if(moyenne<8)
printf("Moyenne %.2f : refusé", moyenne);
else if(moyenne<10 && moyenne>=8)
printf("Moyenne %.2f : controle", moyenne);
else
printf("Moyenne %.2f : admis", moyenne);
return 0;
}
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double delta, racine1, racine2;
double x;
printf("Entrez les coefficients de l'équation de second degré (a, b et c) : ");
scanf("%lf %lf %lf", &a, &b, &c);
if (a == 0) {
if (b == 0) {
if (c == 0) {
printf("L'équation a une infinité de solutions.\n");
}
else {
Page 2 sur 6
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
Page 3 sur 6
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
Exercice 3 : un entier est considéré comme un "entier cubique" s'il peut être
exprimé comme la somme des cubes de ses chiffres unitaires.
Ecrire un programme pour tester un entier s’il est cubique ou non)
Le programme doit s’assurer que l’entier n est composé de 3 chiffres (n ∉
{100...999})
#include <stdio.h>
#include <math.h>
int main() {
int n,a,b,c;
do{
printf("N = ");
scanf("%d", &n);
}
while(n>999 || n<100);
a = n/100;
b=(a%100)/10;
c=n%10;
if(pow(a,3) + pow(b,3) + pow(c,3) ==n)
printf("%d est cubique", n);
else
printf("%d n'est pas cubique", n);
return 0;
}
Exercice 4 : Ecrire un programme en C qui permet à l'utilisateur d'entrer deux
opérandes, un type d'opération, et affiche le résultat. Le programme demande
également à l'utilisateur s'il souhaite répéter l'action ou non en utilisant la fonction
getche () de la bibliothèque <conio.h>
#include <stdio.h>
Page 4 sur 6
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
#include <conio.h>
int main() {
char reponse;
do {
double operande1, operande2, resultat;
char operateur;
printf("Entrez le premier operande : ");
scanf("%lf", &operande1);
printf("Entrez le type d'operation ");
scanf(" %c", &operateur);
printf("Entrez le deuxieme operande : ");
scanf("%lf", &operande2);
switch (operateur) {
case '+':
resultat = operande1 + operande2;
break;
case '-':
resultat = operande1 - operande2;
break;
case '*':
resultat = operande1 * operande2;
break;
case '/':
if (operande2 != 0) {
resultat = operande1 / operande2;
} else {
Page 5 sur 6
Matière : Algorithmes et Structures de Données I
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignant responsable : Mr ben Rkaya Moez
return 0;
}
Page 6 sur 6