循环和数组的练习题
<!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(" <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>
显示效果如下: