Voila, moyenne ne renvoit pas du tout la moyenne Mais je comprend pas pourquoi ..
Code :
#include <stdio.h>
int main()
{
int nombre,num,indent;
int min=2147483647; //Chiffre maximum supporté par le type int, c'est pas très propre mais bon..
int max=0;
float moyenne=0;
int somme=0;
printf("Combien de nombres? " );
scanf("%d", &nombre);
for (indent=nombre;indent>0;indent--)
{
nombre--;
printf("Entrer le nombre : " );
scanf("%d", &num);
somme = somme + num;
if (min > num)
{
min = num;
}
if (max < num)
{
max = num;
}
}
//printf("Somme = %d\n", somme);
moyenne = (float)somme / (float)nombre;
printf("Minimum = %d\n", min);
printf("Maximum = %d\n", max);
printf("Moyenne = %f\n", moyenne);
}
Merci d'avance
Publicité
Posté le 17-09-2008 à 19:14:01
boblenain200
Posté le 17-09-2008 à 19:30:12
bon j'ai un deuxieme exercice pour vous
l'objectif est de calculer le nombre de mot dans la phrase (en calculant juste le nombre d'espace, on se tape des apostrophe ..etc..)
malheureusement, ben...ca marche po
Code :
{
char buffer[500];
char c;
int i;
int nombreDeMots;
//On scan la chaine de caractère
/*for (i=0 , c='\0'; c!= '$' && i < 500-1 ; ++i)
{
printf("Quel est votre phrase ?\n" );
scanf("%c", &c);
buffer[i] = c;
}*/
printf("Quel est votre phrase?\n" );
scanf("%s", buffer);
//On compte les mots
for (i=0, nombreDeMots =1; buffer[i] != '$' ; i++)
{
if (buffer[i]==' ' && i > 0 && buffer[i-1] != ' ')
{
nombreDeMots++;
}
}
printf("Il y a %d mot(s) dans votre phrase\n", nombreDeMots);
}
Message édité par boblenain200 le 17-09-2008 à 19:30:31
tpierron
Posté le 17-09-2008 à 19:50:04
Mouaif, erreurs classiques. Pour le 1, regarde ta ligne 14. Pour le 2, le format %s de scanf() s'arrête de lire au premier espace, du coup ta boucle n'en trouvera jamais.
Message édité par tpierron le 17-09-2008 à 19:51:37
boblenain200
Posté le 17-09-2008 à 20:16:31
Pour le 1 , merci (jme hais sur ce coup )
POur le 2, j'ai çà mais c'est pas très beau ..
Code :
{
char buffer[BUFSIZ];
char c;
int i;
int nombreDeMots;
//On scan la chaine de caractère
for (i=0 , c='\0'; c!= '$' && i < BUFSIZ - ; ++i)
{
printf("Quel est votre phrase ?\n" );
scanf("%c", &c);
buffer[i] = c;
}
//On compte les mots
for (i=0, nombreDeMots =1; buffer[i] != '$' ; i++)
{
if (buffer[i]==' ' && i > 0 && buffer[i-1] != ' ')
{
nombreDeMots++;
}
}
printf("Il y a %d mot(s) dans votre phrase\n", nombreDeMots);
}
Trap D
Posté le 18-09-2008 à 08:15:32
Tu devrais t'intéresser à fgets, celà pourrait résoudre ton problème "esthétique"...
DoomAngel
Posté le 01-10-2008 à 22:24:54
fgets ou read
Trap D
Posté le 01-10-2008 à 23:02:00
fgets pour les fichiers textes, marche très bien avec l'entrée standart stdin.