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 ]
|