41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
|
const readline = require("readline");
|
|||
|
|
|||
|
const rl = readline.createInterface(
|
|||
|
process.stdin, process.stdout
|
|||
|
);
|
|||
|
let student_num = 10;
|
|||
|
let grades = new Array(student_num); // 类似于C/C++中数组的数据结构,空间复杂度O(n)
|
|||
|
|
|||
|
function input(remain_times) {
|
|||
|
if (remain_times <= 0) {
|
|||
|
rl.close();
|
|||
|
return;
|
|||
|
}
|
|||
|
rl.question("", (answer) => {
|
|||
|
grades[student_num - remain_times] = parseFloat(answer); // 暂时不考虑输入错误
|
|||
|
input(remain_times - 1);
|
|||
|
});
|
|||
|
}
|
|||
|
rl.on("close", () => {
|
|||
|
let sum = grades.reduce((sum, current) => {
|
|||
|
return sum + current;
|
|||
|
}, 0); // 时间复杂度O(n)
|
|||
|
let average = sum / student_num;
|
|||
|
console.log("高于平均分的学生成绩为:", grades.filter((grade) => grade > average)); // 时间复杂度O(n)
|
|||
|
});
|
|||
|
rl.write("输入"+student_num+"名学生的成绩,一个一行:\n");
|
|||
|
input(student_num);
|
|||
|
|
|||
|
// 输入10名学生的成绩,一个一行:
|
|||
|
// 1
|
|||
|
// 2
|
|||
|
// 3
|
|||
|
// 4
|
|||
|
// 5
|
|||
|
// 6
|
|||
|
// 7
|
|||
|
// 8
|
|||
|
// 9
|
|||
|
// 10
|
|||
|
// 高于平均分的学生成绩为: [ 6, 7, 8, 9, 10 ]
|