小班有16个人,在一次考试中,老师需要将分数从地到高依次排序.该怎么做呢
分数分别是12, 34, 5, 23, 45, 90, 95, 92, 60, 64, 99, 91, 79, 51, 88, 100
首先需要理清思路,需要一个数组来装下这些分数
其次需要使用到for循环.不要着急套第二个for循环
可以先写内循环,这样更容易理解
设置一个i=0,让他依次自增循环,用if函数,让arr里面的I自己和自己做比较
设置一个空的临时变量, 替换掉上面两者的较小的数 就能让前者与后者换位置
依次循环,这样就能得到最大的数字在数组的最后方,
然后再再外面嵌套一个外循环,这样就能得到完整的排序
思路:
?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let arr = [12, 34, 5, 23, 45, 90, 95, 92, 60, 64, 99, 91, 79, 51, 88, 100]
for (let j = 0; j < arr.length - 1; j++) {
for (let i = 0; i < arr.length - 1 - j; i++) {
if (arr[i] > arr[i + 1]) {
let temp
temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
}
console.log(arr);
</script>
</body>
</html>
|