Exercice
1 :
Ecrire un programme en langage C qui permute et affiche
les valeurs de trois variables A, B, C de type entier qui sont entrées au
clavier :
A ==> B , B ==> C , C ==> A
Solution :
#include <stdio.h>
main()
{
int A, B, C, AIDE;
scanf("%d %d %d", &A, &B, &C);
/* Affichage à l'aide de tabulations */
printf("A = %d\tB = %d\tC = %d\n", A, B, C);
AIDE=A;
A=C;
C=B;
B=AIDE;
printf("A = %d\tB = %d\tC = %d\n", A, B, C);
return 0;
}
Exercice
2 :
Ecrire un programme en langage C qui affiche le quotient
et le reste de la division entière de deux nombres entiers entrés au clavier
ainsi que le quotient rationnel de ces nombres.
Solution :
#include <stdio.h>
main()
{
int A, B;
printf("Introduisez deux nombres entiers : ");
scanf("%d %d", &A, &B);
printf("Division entiere : %d\n", A/B);
printf("Reste
: %d\n", A%B);
printf("Quotient rationnel : %f\n", (float)A/B);
return 0;
}
Exercice
3 :
Ecrire un programme en langage C qui affiche la résistance équivalente à trois résistances R1, R2, R3 (type double),
- si les résistances sont branchées en série:
Rsér = R1+R2+R3
- si les résistances sont branchées en parallèle:
Rpar = (R1*R2*R3)/(R1*R2+R1*R3+R2*R3)
Solution :
#include <stdio.h>
main()
{
double R1, R2, R3, RRES;
printf("Introduisez les valeurs pour R1, R2 et R3 :
");
scanf("%lf %lf %lf", &R1, &R2,
&R3);
RRES=R1+R2+R3;
printf("Resistance resultante serielle : %f\n", RRES);
RRES=(R1*R2*R3)/(R1*R2+R1*R3+R2*R3);
printf("Resistance
resultante parallele : %f\n", RRES);
return 0;
}
Exercice
4 :
Ecrire un programme en langage C qui calcule et affiche
l'aire d'un triangle dont il faut entrer les longueurs des trois côtés.
Utilisez la formule :
S2 = P(P-A)(P-B)(P-C)
où A, B, C sont les longueurs des trois côtés (type int) et P
le demi-périmètre du triangle.
Solution :
#include <stdio.h>
#include
<math.h>
main()
{
/* Pour ne pas perdre de précision lors de la division, */
/* déclarons P comme rationnel. */
int A, B, C;
float P;
printf("Introduisez les valeurs pour A, B et C : ");
scanf("%d %d %d", &A, &B, &C);
/* En forçant la conversion de A, les autres opérandes */
/* sont converties automatiquement. */
P=((float)A+B+C)/2;
printf("Surface du triangle S =
%f\n",sqrt(P*(P-A)*(P-B)*(P-C)));
return 0;
}
Exercice
5 :
Ecrire un programme en langage C qui calcule la somme de
quatre nombres du type int entrés au clavier.
Solution :
main()
{
int A;
long SOM;
SOM = 0;
printf("Entrez le premier nombre :
");
scanf("%d", &A);
SOM+=A;
printf("Entrez le deuxième nombre :
");
scanf("%d", &A);
SOM+=A;
printf("Entrez le troisième nombre : ");
scanf("%d", &A);
SOM+=A;
printf("Entrez le quatrième nombre : ");
scanf("%d", &A);
SOM+=A;
printf("La somme des nombres entrés est %ld\n", SOM);
return 0;
}
Exercice
6 :
Ecrire un programme en langage C qui calcule et affiche la
distance DIST (type double) entre deux points A et B du plan dont
les coordonnées (XA, YA) et (XB, YB) sont entrées au clavier comme entiers.
Solution :
#include <stdio.h>
#include
<math.h>
main()
{
int XA, YA, XB, YB;
double DIST;
/* Attention: La chaîne de format que nous utilisons */
/* s'attend à ce que les données soient séparées par */
/* une virgule lors de l'entrée. */
printf("Entrez les coordonnées du point A : XA,YA
");
scanf("%d,%d", &XA, &YA);
printf("Entrez les coordonnées du point B : XB,YB
");
scanf("%d,%d", &XB, &YB);
DIST=sqrt(pow(XA-XB,2)+pow(YA-YB,2));
printf("La distance
entre A(%d,% d) et B(%d, %d) est %.2f\n",
XA, YA, XB, YB,
DIST);
return 0;
}
Exercice
7:
Ecrire un programme en langage C qui lit un caractère au clavier
et affiche le caractère ainsi que son code numérique.
Solution :
#include <stdio.h>
main()
{
int C;
printf("Introduire un caractère suivi de 'Enter'\n");
C = getchar();
printf("Le caractère %c a le code ASCII %d\n", C, C);
return 0;
}