Exercice langage C réaliser multiples programmes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/* Programme de calcul et d'affichage du discriminant d'une equation du
 * second degre, sous la forme ax2 + bx + c = 0, avec a,b,c lus au clavier */
 
#include
 
int main()
{
  double a, b, c, discriminant;
  printf("a: ");
  scanf("%lf", &a);
  printf("b: ");
  scanf("%lf", &b);
  printf("c: ");
  scanf("%lf", &c);
 
  /* pas d'operateur 'square' en C */
  discriminant = b*b - 4*a*c;
 
  printf("Discriminant de %.2fx2 + %.2fx + %.2f = %.2f\n", a, b, c, discriminant);
 
  (discriminant == 0) ? printf("Une seule racine\n"):0;
  (discriminant > 0) ?  printf("Deux racines reelles\n"):0;
  (discriminant < 0) ?  printf("Deux racines complexes\n"):0;
 
  return 0;
}
2)
 
/* Programme de calcul et d'affichage des pieces necessaires pour produire
 * une somme, lue au clavier */
 
#include
 
int main()
{
  double sdouble;
  int sEnCentime, nbPieces;
  printf("somme en euros: ");
  scanf("%lf", &sdouble);
 
  /* arrondi a l'entier le plus proche !
   *   en effet, les nombre decimaux sont rarement representes de maniere
   *   exacte. Par exemple, le nombre 0,3 aura une representation approchee
   *   de 0.300000011920928955 en float et de 0.299999999999999989 en double.
   *   Dans ces deux cas, ajouter 0.005, permettra d'obtenir 30 centimes.
   */
  sEnCentime = (sdouble + 0.005)*100;
 
  nbPieces = sEnCentime / 200;
  printf("Nombre de pieces de 2 euros : %d\n", nbPieces);
  sEnCentime %= 200;
 
  nbPieces = sEnCentime / 100;
  printf("Nombre de pieces de 1 euros : %d\n", nbPieces);
  sEnCentime %= 100;
 
  nbPieces = sEnCentime / 50;
  printf("Nombre de pieces de 50 centimes: %d\n", nbPieces);
  sEnCentime %= 50;
 
  nbPieces = sEnCentime / 20;
  printf("Nombre de pieces de 20 centimes: %d\n", nbPieces);
  sEnCentime %= 20;
 
  nbPieces = sEnCentime / 10;
  printf("Nombre de pieces de 10 centimes: %d\n", nbPieces);
  sEnCentime %= 10;
 
  nbPieces = sEnCentime / 5;
  printf("Nombre de pieces de 5 centimes: %d\n", nbPieces);
  sEnCentime %= 5;
 
  nbPieces = sEnCentime / 2;
  printf("Nombre de pieces de 2 centimes: %d\n", nbPieces);
  sEnCentime %= 2;
 
  printf("Nombre de pieces de 1 centime: %d\n", sEnCentime);
 
  return 0;
}
3)
 
/* Programme de calcul et d'affichage de la repartition en groupes de
 * personnes, d'effectifs equilibres, valeurs lues au clavier */
 
#include
 
int main()
{
  int groupes, personnes;
  printf("groupes: ");
  scanf("%d", &groupes);
  printf("personnes: ");
  scanf("%d", &personnes);
 
  printf("Nombre de grands groupes : %d et leur effectif %d\n",
    personnes % groupes, personnes / groupes);
 
  printf("Nombre de petits groupes : %d et leur effectif %d\n",
    groupes - personnes % groupes, 1 + personnes / groupes);
 
  return 0;
}

Télécharger aussi :

Laisser un commentaire

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

Besoin d'aide ?