Probleme en c

juan -  
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
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 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
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
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
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