使用js设计一个程序,使用一个数组,prompt连续接收八门课程的成绩用逗号隔开,1.在页面上将这八门课的成绩从大到小排序,2.去掉最高分和最低分并显示,3.再显示其总成绩和平均分,4.并列出大于85的成绩。
时间: 2023-12-15 15:06:19 浏览: 146
以下是代码实现:
```javascript
let scores = [];
let input = prompt("请输入八门课程的成绩,用逗号隔开");
// 将输入的字符串转换为数组
scores = input.split(",");
// 将字符串类型的分数转换为数字类型
for (let i = 0; i < scores.length; i++) {
scores[i] = parseFloat(scores[i]);
}
// 1. 从大到小排序
scores.sort(function(a, b) {
return b - a;
});
// 2. 去掉最高分和最低分
let newScores = scores.slice(1, -1);
// 3. 计算总成绩和平均分
let sum = 0;
for (let i = 0; i < newScores.length; i++) {
sum += newScores[i];
}
let average = sum / newScores.length;
// 4. 列出大于85的成绩
let highScores = [];
for (let i = 0; i < newScores.length; i++) {
if (newScores[i] > 85) {
highScores.push(newScores[i]);
}
}
// 将结果显示在页面上
document.write(`排序后的成绩:${scores}<br>`);
document.write(`去掉最高分和最低分后的成绩:${newScores}<br>`);
document.write(`总成绩:${sum},平均分:${average.toFixed(2)}<br>`);
document.write(`大于85的成绩:${highScores}`);
```
这段代码首先使用 `prompt` 方法获取用户输入的八门课程的成绩,并将其转换为数组类型。然后使用 `sort` 方法将数组按从大到小的顺序排序,使用 `slice` 方法去掉最高分和最低分。接着计算总成绩和平均分,以及大于85的成绩,最后将结果显示在页面上。
阅读全文