前端:JS/21/循环和数组的练习题

循环和数组的练习题

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS循环和数组练习题</title>
    <script type="text/javascript">
        /* 1,1-100之间能被3整除的偶数的个数 */
        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 2 == 0 && i % 3 == 0) {
                sum++;
            }
        }
        document.write("1-100之间能被3整除的偶数的个数:" + sum);


        /* 2,从2000年到3000年之间的所有闰年 */
        document.write("<br/>从2000年到3000年之间的所有闰年有:<br/>")
        var n = 0;//此变量用于换行排序
        for (var i = 2000; i <= 3000; i++) {
            if (i % 100 != 0 && i % 4 == 0 || i % 400 == 0) {
                document.write("&nbsp;&nbsp;&nbsp;&nbsp;<font color='red'>" + i + "</font>");
                if (n == 20) {
                    document.write("<br/>");
                    n = 0;
                } else {
                    n++;
                }
            }
        }


        /* 3,一张纸厚为0.01毫米,该纸对折30次后是多厚?反过来,一张纸对折多少次会超过1米厚? */
        var n = 0.00001;
        for (var i = 0; i < 30; i++) {
            n = n * 2;
            /* 通过分析,对n=1的假设,n只能在1-2之间 */
            if (n > 1 && n <= 2) {
                document.write("<br/>方法1:一张纸对折<font color=red>" + (i + 1) + "</font> 次会超过1米厚,此时这张纸的厚度为:<font color=red>" + n + "</font> 米")
            }
        }
        document.write("<br/>一张纸厚为0.01毫米,该纸对折30次后厚为:<font color='blue'>" + n + "</font> 米")
        var n = 0.00001;
        for (i = 1; n <= 1; i++) {
            n = n * 2;
        }
        document.write("<br/>方法2:一张纸对折<font color=red>" + (i - 1) + "</font> 次会超过1米厚,此时这张纸的厚度为:<font color=red>" + n + "</font> 米")


        /* 4,求一个数组的和及平均值 */
        var arr = [1, 2, 3, 6, 8, 10];
        var sum = 0;
        for (var i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        document.write("<br/>数组[" + arr + "]的和为:" + sum + ",平均值为:" + sum / arr.length);


        /* 5,求一个数组的最大值和最小值 */
        var arr = [2, 4, 76, 83, 3, 50, 34, 60, 449, 294, -402, -407, 420, 6, 0];
        var max = arr[0]; var maxIndex = 0;
        var min = arr[0]; var minIndex = 0;
        for (i = 0; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];//把较大的那个值赋给max
                maxIndex = i;//保存每次比较较大的那个值的下标
            }
            if (min > arr[i]) {
                min = arr[i];//把较小的那个值赋给min
                minIndex = i;//保存每次比较较小的那个值的下标
            }
        }
        document.write("<br/>数组[" + arr + "]的最大值为:" + max + " 下标为:" + maxIndex + " ;最小值为:" + min + " 下标为:" + minIndex);


        /* 6,求一组数组的所有奇数的平均值 */
        var arr = [329, 482, -382, 32, 533, 8, 5, 22, 53];
        var sum = 0;//奇数和
        var n = 0;//奇数个数
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] % 2 != 0) {
                n++;
                sum += arr[i];
            }
        }
        document.write("<br/>数组[" + arr + "]中所有奇数的平均值为:" + (sum / n) + ",奇数的个数为:" + n);
    </script>


</head>

<body>

</body>

</html>

显示效果如下:
1

@沉木

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值