程序,在网页中录入至少 5 个学生的个人信息, 然后按照学生的成绩高低对该二维数组进行排序
时间: 2023-07-15 17:14:31 浏览: 102
以下是一个示例程序,用于在网页中录入学生的个人信息,然后按照学生的成绩高低对二维数组进行排序:
```html
<!DOCTYPE html>
<html>
<head>
<title>学生成绩排序</title>
<script>
// 定义一个二维数组,用于存储学生信息
var students = [];
// 根据学生成绩进行排序的函数
function sortByScore(a, b) {
return b[2] - a[2];
}
// 将学生信息添加到二维数组中
function addStudent() {
var name = document.getElementById("name").value;
var age = document.getElementById("age").value;
var score = document.getElementById("score").value;
var student = [name, age, score];
students.push(student);
showStudents();
}
// 将学生信息显示在网页中
function showStudents() {
var table = document.getElementById("students");
table.innerHTML = "";
for (var i = 0; i < students.length; i++) {
var row = table.insertRow(i);
var nameCell = row.insertCell(0);
var ageCell = row.insertCell(1);
var scoreCell = row.insertCell(2);
nameCell.innerHTML = students[i][0];
ageCell.innerHTML = students[i][1];
scoreCell.innerHTML = students[i][2];
}
}
// 将学生信息按照成绩高低排序
function sortStudents() {
students.sort(sortByScore);
showStudents();
}
</script>
</head>
<body>
<h1>学生成绩排序</h1>
<table id="students">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>成绩</th>
</tr>
</table>
<br>
<label for="name">姓名:</label>
<input type="text" id="name"><br>
<label for="age">年龄:</label>
<input type="text" id="age"><br>
<label for="score">成绩:</label>
<input type="text" id="score"><br>
<button onclick="addStudent()">添加学生</button>
<button onclick="sortStudents()">按成绩排序</button>
</body>
</html>
```
该程序定义了一个二维数组 `students`,用于存储学生信息。当用户点击“添加学生”按钮时,程序将从文本框中读取学生的姓名、年龄和成绩,并将它们存储到 `students` 数组中。然后,程序调用 `showStudents()` 函数,将学生信息显示在网页中的表格里。
当用户点击“按成绩排序”按钮时,程序将调用 `sortStudents()` 函数,该函数将 `students` 数组按照成绩从高到低排序,并调用 `showStudents()` 函数更新网页中的表格。
注意,该程序中的排序函数 `sortByScore()` 使用了 JavaScript 的 `sort()` 方法,该方法可以接受一个比较函数作为参数,用于定义排序规则。在本例中,`sortByScore()` 函数按照学生成绩从高到低排序,因此它返回 `b[2] - a[2]`,表示将成绩高的学生排在前面。
阅读全文