配列から最高点を求める課題についてです。
上段は、平均点を求める構文で今回は関係ありません。
以下のように、後段の for構文内に console.log("最高点は" + highest + "点です"); を記述すると、
なぜ結果が画像のようになるのでしょうか?
JavaScript
1var scores = [88, 62, 65, 21, 47, 92, 57, 89, 79, 89, 54, 82, 69, 72, 74, 54, 66, 92, 64, 96, 47, 89, 95, 93, 70, 30, 84, 93, 81, 98, 78, 96, 32, 56, 64, 42, 67]; 2 3// この下にコードを書いてください 4var sum = 0; 5for (var i = 0; i < scores.length; i++) { 6 sum = sum + scores[i]; 7} 8var ave = sum/scores.length; 9console.log("平均点は" + ave + "点です"); 10 11var highest = 0; 12for (var i = 0; i < scores.length; i++) { 13 if(scores[i] > highest) { 14 highest = scores[i]; 15 } 16 console.log("最高点は" + highest + "点です"); 17} 18
88点が5列、92点が14列、96点が4列、表示されます。
JavaScript
1if(scores[i] > highest) { 2 highest = scores[i]; 3}
上のような条件を設定しているのに、最高点から二つ下の点数(82点と92点)が表示されるのが不思議です。
また、なぜ、88点が5列、92点が14列、96点が4列なのかも謎です。
回答、よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/13 08:57
2020/10/13 09:00