bonjour,
voici mon code pour l'exercice suivant :
Ecrire un programme qui demande à l'utilisateur de saisir les notes (sur 20 ) des élèves d'une classe. Le nombre d'élèves est choisi au début du programme.
Puis le programme affiche la somme, la plus grande valeur, la plus petite, et enfin, la moyenne.
le prog :
je choisis par exemple 3 notes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 public class ExoTab { public static void main (String [] args) { //déclaration et initialisation des variables double som = 0; double pgNote = 0; double ppNote = 0; double moy = 0; //Choix du nombre entier représentant le nombre d'élèves System.out.println("Entrez un nombre entier, taille du tableau : "); int nombre = Lire.entierInt(); //création du tableau dont la taille est le nombre d'élèves double [] tab = new double[nombre]; /* Saisir les notes (max = 20) des élèves. En même temps, on calcule la somme, la moyenne, la plus grande note et le plus petite*/ System.out.println("Saisissez les notes sur 20 des élèves "); for( int i = 0; i < nombre; i++) { System.out.print("La note numéro " + (i+1) + " est : " ); tab[i] = Lire.reelDouble(); System.out.println(); som = som + tab[i]; moy = som/nombre; ppNote = tab[0]; pgNote = Math.max(pgNote, tab[i]); ppNote = Math.min(ppNote, tab[i]); } //Affichage somme, moyenne, plus grande note et plus petite. System.out.println("Somme des notes = " + som); System.out.println("Moyenne des notes = " + moy); System.out.println("Plus grande des notes = " + pgNote); System.out.println("Plus petite des notes = " + ppNote); } }
si je saisi les notes dans ce sens,
note numéro 1 : 7.55
note numéro 2 : 8.55
note numéro 3 : 20
aucun problème : la plus petite note est bien : 7.55
Mais si jes choisis dans ce sens :
note numéro 1 : 20
note numéro 2 : 7.55
note numéro 3 : 8.55
patatras. la plus petite note affichée est : 8.5
pourquoi ?
Partager