从1-30中选出5个能被2整除的随机数,并对他们从大到小排序(冒泡排序),最后输出一个数组。

首先,我们来理清一下这道题的思路:
(1)范围是1-30,且要在里面选出5个随机数 Math.round 、Math.random

(2)这五个数要能被2整除

(3)因为要输出5个数,而输出的随机数不一定满足条件,所以我们循环的次数必须要大一点,才能保证我们输出的5个能被2整除的数

(4)输出的数组成一个数组,先定义一个空数组,循环遍历后,把符合条件的数组添加到空数组里面,然后当数组长度等于5时跳出循环

(5)最后把得到的新数组,用冒泡排序就好啦

代码如下:

<body>
    <script>
        var arr = [];
        for (var i = 0; i <= 20; i++) {
            var num = Math.round(Math.random() * 30 + 1);
            if (num % 2 == 0) {
                arr.push(num);
            }
            if (arr.length == 5) {
                break;
            }
        }

        for (var j = 0; j < arr.length - 1; j++) {
            for (var k = j; k < arr.length - j - 1; k++) {
                if (arr[k] < arr[k + 1]) {
                    var max = arr[k];
                    arr[k] = arr[k + 1];
                    arr[k + 1] = max;
                }
            }
        }
        console.log(arr);
    </script>
</body>

猜你喜欢

转载自blog.csdn.net/DIUDIUjiang/article/details/125967879