Salut !
Je fais un programme en C permettant de faire ce calcul : Somme = 1+1/3+1/5+1/7+...+1/99
En utilisant les boucles do...while, while et for
Mais j’arrive à trois résultats différent et faux...
Quelqu’un pourrait me dire où sont les problèmes ?
Programme :
Résultats :Code:# include <stdio.h> int main() { const int DENO1 = 1, DENO2 = 99, PAS = 2, DEBUT = 1, FIN = 1/99.0; int deno; float somme = 0.0, valeur = DEBUT; // Boucle Do ... While printf("Boucle DO ... WHILE : \n"); do {somme+=valeur; valeur+=1.0/deno; deno+=PAS; } while(deno<=DENO2); printf("La somme vaut %.2f \n\n", somme); // Boucle While somme = 0.0; valeur = DEBUT; printf("Boucle WHILE : \n"); while(deno<=DENO2) {somme+=valeur; valeur+=1.0/deno; deno+=PAS; } printf("La somme vaut %.2f \n\n", somme); // Boucle For somme = 0.0; printf("Boucle FOR : \n"); for (deno = DENO1; deno <= DENO2; deno += PAS) somme += 1.0/deno; printf("La somme vaut %.2f \n\n", somme) ; return 0; }
Boucle DO ... WHILE :
La somme vaut 1.#J
Boucle WHILE :
La somme vaut 0.00
Boucle FOR :
La somme vaut 2.94
-----