/* 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; }
Pages: 1 2