Probleme en c

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);
}
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. jai fait un peu de c mais juste comme ca faudrai pas mettre un point virgule a la fin de :
    while (nombre >= 0)
    1. 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
      1. Modérateur
        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