Probleme en c

juan -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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. spawnland Messages postés 98 Statut Membre 1
     
    jai fait un peu de c mais juste comme ca faudrai pas mettre un point virgule a la fin de :
    while (nombre >= 0)
    0
  2. Joss
     
    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
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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