Probleme en c

juan -  
lami20j Messages postés 21331 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);
}

3 réponses

spawnland Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   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 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   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