Probleme en c

Fermé
juan - 30 oct. 2007 à 14:02
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 30 oct. 2007 à 18:35
Bonjour, j'ai un problème avec mon programme c.
l'utilisateur doit donner des nombres entiers, et quand il veut arrêter il entre -1. puis le programme doit en faire la moyenne.
merci


{
int nombre;
float moyenne;



while (nombre >= 0)
{
printf("entrez les nombres");
scanf("%d",nombre);

}
if(nombre == -1)
{
moyenne =
printf(" la moyenne est de %f ",moyenne);
}

3 réponses

spawnland Messages postés 95 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 20 mars 2013 1
30 oct. 2007 à 14:10
jai fait un peu de c mais juste comme ca faudrai pas mettre un point virgule a la fin de :
while (nombre >= 0)
0
Bonjour,
Deja, nombre n'est pas initialise lors de la premiere entree dans le while
Ensuite il te manque un int qui compte le nombre de fois que tu passes dans la boucle while et un autre int qui memorise la somme des nombres ajoutes
Enfin, tu peux supprimer ton if et remplacer la condition du while par celle du if
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
30 oct. 2007 à 18:35
Salut,

lami20j@debian:~/trash$ cat ccm.c
#include <stdio.h>

int main(void)
{
  int i,nb,total,test;
  float moyenne;

  i = 0;
  test = 0;
  total = 0;

  printf("Entrez les nombres separés par un espace : ");
  while(test == 0){
    scanf("%d",&nb);
    if(nb == -1)
      test = 1;
    else
      total += nb;
    ++i;
  }
  printf("La moyenne est %.2f\n",(float) total/--i);
  return 0;
}
lami20j@debian:~/trash$ gcc ccm.c
lami20j@debian:~/trash$ ./a.out
Entrez les nombres separés par un espace : 2 4 5 6 -1
La moyenne est 4.25

0