[Programmation en c]
Fermé
winfa680
-
13 mars 2006 à 16:04
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 13 mars 2006 à 19:46
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 13 mars 2006 à 19:46
A voir également:
- [Programmation en c]
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Programmation télécommande porte de garage brico depot - Forum Matériel & Système
4 réponses
gaby10
Messages postés
445
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
3 février 2013
58
13 mars 2006 à 16:45
13 mars 2006 à 16:45
Alerte :lorsque tu initialise i=0,le compilateur va generer une erreur des que tu vas entrer la 1ere note car som/0;
Je pense que la solution qui pourrait fonctionner est la suivante:
#include<stdio.h> int main(){ int i=1; float n,moy,som=0; do {printf ("donnez une note"); scanf ("%f", &n); som+= n ; i=i+1;} while(n<0)/*si n vaut 0 il ya pas de probleme, mais si n vaut -1 par exemple, lá il y a casse.*/ //maintemant je calcul ma moyenne moy=som div i; printf("%f",moy); return 1;//ceci á de int avant main(). }
Essaie et tiens moi informe si sa marche.
bon apres midi
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
13 mars 2006 à 17:33
13 mars 2006 à 17:33
Salut.
la solution de gaby ne fonctionne pas, il faut initialisé i à 0.
Sinon, si tu n'a qu'une note, tu reviens à la diviser par deux
la solution de gaby ne fonctionne pas, il faut initialisé i à 0.
Sinon, si tu n'a qu'une note, tu reviens à la diviser par deux
gaby10
Messages postés
445
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
3 février 2013
58
13 mars 2006 à 17:45
13 mars 2006 à 17:45
t'as raison mais si je fais ceci
.do{ .......i++;}ou encore je ne modifie qu'apres la boucle do:
#include...............moy=som div (i-1);
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
13 mars 2006 à 19:46
13 mars 2006 à 19:46
Il ne faut faire la division que que tout à la fin sinon le résultat est faux !
Bonne chance
#include <stdlib.h> #include <stdio.h> int main(){ int n; // le nombre de note saisies float s=0; // la somme des notes float tmp; // la saisie courante for(n=1;;++n){ scanf ("%f", &tmp); if (tmp<0) break; s+=tmp; } printf("La moyenne arithmétique vaut : %lf\n",s/n); return 0; }
Bonne chance