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