如何改进这个代码来处理非整数成绩?
时间: 2024-09-24 20:02:10 浏览: 20
如果你想让代码能够处理非整数成绩,可以先将用户输入转换为浮点数,然后在计算平均分和判断等级时保留小数位。以下是修改后的代码:
```javascript
let totalScore = 0;
let numSubjects = 5;
for (let i = 0; i < numSubjects; i++) {
let score = parseFloat(prompt("请输入第" + (i+1) + "门课程的成绩:")); // 将parseInt改为parseFloat
totalScore += score;
}
let averageScore = totalScore / numSubjects;
let grade;
switch (Math.round(averageScore * 10)) { // 使用Math.round四舍五入到最接近的整数
case 900: // 分数段为90及以上
grade = 'A';
break;
case 800:
grade = 'B';
break;
case 700:
grade = 'C';
break;
case 600:
grade = 'D';
break;
default: // 60分以下
grade = 'F';
}
console.log(`学生的平均成绩为${averageScore.toFixed(1)}分,属于${grade}级。`);