01.为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//将输入的数值转为数值型
var all_hours = parseFloat(prompt("请输入总共花费的时长:"))
//计算天数
var days = parseInt(all_hours / 24)
//计算时数
var hours = (all_hours % 24)
//输出结果
document.write("战士们共作战了"+days+"天"+hours+"小时")
</script>
</body>
</html>
02.小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。1.它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。2. 提示:摄氏度与华氏度 的转换公式为:摄氏度 = 5/9.0*(华氏度-32)保留3位小数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var temp = parseFloat(prompt("请输入华氏温度:"))
//转换为摄氏度
var F = 5/(9.0*(temp - 32))
//保留三位小数
var f = F.toFixed(3)
//输出结果
document.write("华氏温度为:" + temp+",摄氏温度为:" + f)
</script>
</body>
</html>
03.判断一个整数,属于哪个范围:大于0;小于0;等于0
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = parseInt(prompt("请输入你要判断的整数:"))
if(num > 0){
document.write("这个数大于0")
}else if(num < 0){
document.write("这个数小于0")
}else if(num == 0){
document.write("这个数等于0")
}
</script>
</body>
</html>
04.判断一个整数是偶数还是奇数,并输出判断结果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = parseInt(prompt("请输入你要判断的整数:"))
if (num % 2 == 0) {
document.write("这个数是偶数!")
} else (
document.write("这个数是奇数!")
)
</script>
</body>
</html>
05.根据公式(身高-108)*2=体重,可以有10斤左右的浮动,来观察测试者体重是否合适
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var height = prompt("请输入你的身高:")
var weight = prompt("请输入你的体重:")
//计算标准的体重
var standard = (height - 108) * 2
//标准体重与输入体重进行比较
if (weight < standard - 10 || weight > standard + 10) {
document.write("体重不合适!")
} else {
document.write("体重合适!")
}
</script>
</body>
</html>
06.输入分数,判定成绩等级
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var score = prompt("请输入你的成绩:")
if (score < 100 && score >= 90) {
document.write("你的分数等级为A!")
} else if (score < 90 && score >= 80) {
document.write("你的分数等级为B!")
} else if (score < 80 && score >= 70) {
document.write("你的分数等级为C!")
} else if (score < 70 && score >= 60) {
document.write("你的分数等级为D!")
} else if (score < 60) {
document.write("你的分数等级为E!")
}
</script>
</body>
</html>
07.判断是星期几?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// switch条件判断
switch (day) {
case 1:
document.write("今天是星期一")
break
case 2:
document.write("今天是星期二")
break
case 3:
document.write("今天是星期三")
break
case 4:
document.write("今天是星期四")
break
case 5:
document.write("今天是星期五")
break
case 6:
document.write("今天是星期六")
break
case 0:
document.write("今天是星期日")
break
default:
document.write("输入有误!")
}
</script>
</body>
</html>
08.输入月份和年份,显示当月的天数.要求:利用case穿透简化代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//减0 是为了将输入的值转换为数值型Number
var years = prompt("请输入年份:") -0
var months = prompt("请输入月份:")-0
switch (months) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
document.write(years + "年" + months + "月有31天")
break
case 2:
if (years % 400 == 0 || years % 4 == 0 && years % 100 != 0) {
document.write(years + "年" + months + "月有29天")
} else {
document.write(years + "年" + months + "月有28天")
}
break
case 4:
case 6:
case 9:
case 11:
document.write(years + "年" + months + "月有30天")
break
default:
document.write("end")
break
}
</script>
</body>
</html>
09.计算这是第几年第几个月的第几天
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var year = prompt("请输入年份:") - 0
var month = prompt("请输入月份:") - 0
var day = prompt("请输入日数:") - 0
//定义当月的天数和总的天数
var month_day = 0
var all_days = 0
for (var i = 1; i < month; i++) {
if (i == 2) {
//三目运算符
month_day = (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) ? 29 : 28
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
month_day = 30
} else {
month_day = 31
}
all_days += month_day
}
all_days = all_days + day
//输出结果
document.write("这是" + year + "年" + month + "月第" + all_days + "天")
</script>
</body>
</html>
10.求和
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 打印100以内所有偶数的和
var sum = 0
for (var i = 0; i < 100; i++) {
if (i % 2 == 0) {
sum += i
}
}
document.write("偶数和为:" + sum + "<br>")
// 求出1-1/2+1/3-1/4…..1/100的和
var sum1 = 0
for (var i = 1; i < 100; i++) {
if (i % 2 == 0) {
sum1 = sum1 - (1 / i)
} else {
sum1 = sum1 + (1 / i)
}
}
document.write("1-1/2+1/3-1/4…..1/100的和为:" + sum1)
</script>
</body>
</html>
11.使用 `*` 打印三角形
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//正三角形
for (var i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++) {
document.write("*")
}
document.write("<br>")
}
document.write("<br><br>")
//倒三角形
for (var i = 1; i <= 9; i++) {
for (var j = 9; j >= i; j--) {
document.write("*")
}
document.write("<br>")
}
document.write("<br><br>")
// 等腰三角形
for (var i = 1; i <= 9; i++) {
for (var j = 9; j >= i; j--) {
document.write(" ")
}
for (var k = 1; k <= i; k++) {
document.write("* ")
}
document.write("<br>")
}
document.write("<br><br>")
//梯形
for (var i = 5; i <= 9; i++) {
for (var j = 9; j >= i; j--) {
document.write(" ")
}
for (var k = 1; k <= i; k++) {
document.write("* ")
}
document.write("<br>")
}
</script>
</body>
</html>
12.判断 100 - 300之间的质数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
for (var i = 100; i <= 300; i++) {
//假设i是质数
var flag = true
for (var j = 2; j < i; j++) {
//判断是不是质数
if (i % j == 0) {
flag = false
}
}
flag ? document.write(i + "是质数<br>") : document.write(i + "不是质数<br>")
}
</script>
</body>
</html>
13.求1+2!+3!+...+20!的阶乘和
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//sum用于阶乘相乘,赋值不能为0
var sum = 1
var all_sum = 0
for (var i = 1; i <= 20; i++) {
sum = sum * i
all_sum += sum
}
document.write(all_sum)
</script>
</body>
</html>
14.在页面上完成以一个九九乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//外层循环用于换行
//内层循环用于输出显示内容
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
document.write(j + "*" + i + "=" + i * j+" ")
}
document.write("<br>")
}
</script>
</body>
</html>
15.输出一个3行5列的表格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
td {
width: 100px;
height: 50px;
background-color: pink;
border: 1px solid #000;
}
</style>
</head>
<body>
<script>
//使用字符串拼接的方法
var str = "<table border=1>"
for (var i = 1; i <= 3; i++) {
str += "<tr>"
for (var j = 1; j <= 5; j++) {
str += "<td></td>"
}
str += "</tr>"
}
str += "</table>"
//输出表格
document.write(str)
</script>
</body>
</html>
16.有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//number用于计算芝麻的数量,all_weight用于计算总的重量
var number = 1
var all_weight = 0.00001
for (var i = 2; i <= 64; i++) {
//每一个格子的芝麻数量是前一个格子芝麻数量的两倍
number = number * 2
all_weight += number * 0.00001
}
document.write("棋盘上放的所有芝麻的重量为" + all_weight + "kg")
</script>
</body>
</html>
17.打印水仙花数 在 100 - 999之间去查找。水仙花数: abc = a*a*a + b*b*b + c*c*c
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
for (var i = 100; i < 1000; i++) {
var a = parseInt(i / 100) //取百位
var b = parseInt(i % 100 / 10) //取十位
var c = i % 10 //取个位
if (i == a * a * a + b * b * b + c * c * c) {
document.write(i + "<br>")
}
}
</script>
</body>
</html>
18.编写一个函数,计算两个数字的和、差、积、商.要求:使用传参的形式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function fun(a,b){
document.write("和:"+(a+b)+"<br>"+"差:"+(a-b)+"<br>"+"积:"+(a*b)+"<br>"+"商:"+(a/b)+"<br>")
}
fun(3,4)
</script>
</body>
</html>
19.编写一个函数,计算三个数字的大小,按从小到大顺序输出
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function sort(a, b, c) {
//将数值型转为数组
debugger
var arr = [a, b, c]
var sum = a + b + c
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
}
}
}
document.write("三个数之和为:" + sum + "<br>")
return arr
}
var a = parseInt(prompt("请输入a的值:"))
var b = parseInt(prompt("请输入b的值:"))
var c = parseInt(prompt("请输入c的值:"))
//定义一个变量leap来接受函数的输出
var leap = sort(a, b, c)
console.log("排序后:" + leap)
</script>
</body>
</html>
20.编写一个函数,计算任意两个数字之间所能组成的奇数个数,数字必须是个位数。比如: 计算0-3之间能组成的奇数个是01、03、11、13、21、23、31、33
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function fun(a, b) {
//计算奇数的个数
var count = 0
for (var i = a; i <= b; i++) {
for (var j = a; j <= b; j++) {
//拼接数字
var str = parseInt(i.toString() + j.toString())
if (str % 2 != 0) {
count++
document.write(str + "<br>")
}
}
}
return count
}
var a = parseInt(prompt("请输入a的值:"))
var b = parseInt(prompt("请输入b的值:"))
var res = fun(a, b)
document.write("奇数的个数为:" + res)
</script>
</body>
</html>
21. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的, 加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,输出密文
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function addScent(num) {
//分别取数字上的千位,百位,十位,个位,然后在加5,除以10
var a = (parseInt(num / 1000) + 5) % 10
var b = (parseInt(num % 1000 / 100) + 5) % 10
var c = (parseInt(num % 100 / 10) + 5) % 10
var d = (num % 10 + 5) % 10
//字符串交换位置输出结果
return '' + d + c + b + a
}
var number = prompt("请输入你要加密的数字:") - 0
var res = addScent(number)
document.write(res)
</script>
</body>
</html>
22.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数求 1+1/3+1/5...+1/n
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function fun(n) {
var sum = 0
//赋值式定义函数
var fun1 = function () {
for (var i = 1; i <= n; i++) {
sum += 1 / (i * 2)
}
}
var fun2 = function () {
for (var i = 0; i <= n; i++) {
sum += 1 / (i * 2 + 1)
}
}
//判断n的奇偶性,并调用相应的函数,因为上面两种函数fun1、fun2为赋值式定义函数,所以调用只能在定义函数之后调用
if (n % 2 == 0) {
fun1()
} else {
fun2()
}
//必须要有return 作为返回,因为下面定义了一个变量res来接受fun的函数
return sum
}
var num = prompt("请输入一个数字:") - 0
var res = fun(num)
document.write(res)
</script>
</body>
</html>
23.使用函数完成任意数字阶乘的计算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function fun(n) {
//sum阶乘的初始值为1,
var sum = 1
for (var i = 1; i <= n; i++) {
sum *= i
}
return sum
}
var n = prompt("请输入你要求的阶乘数:") - 0
var res = fun(n)
document.write(res)
</script>
</body>
</html>
24.使用递归完成任意数字阶乘的计算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function fun(n) {
//使用递归必须要有终止条件if
if (n == 1) {
return 1
}
return n * fun(n - 1)
}
var num = prompt("请输入你要求的阶乘数:") - 0
var res = fun(num)
document.write(res)
</script>
</body>
</html>
25. 编写一个递归函数dep(), 实现需求:一年薪资是10k,涨幅每年0.5%,那么50年后薪资多少钱?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function dep(n) {
//基线条件:年数为0,返回当前薪资
if (n == 0) {
return 10000
}
return dep(n - 1) * (1 + 0.005)
}
var num = parseInt(prompt("请输入几年后你要求的薪资:"))
var res = dep(num)
document.write(res.toFixed(2))
</script>
</body>
</html>
26.利用递归求第n位的斐波那契数列。斐波那契数列 : 1 1 2 3 5 8 13 21 34...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function fun(n) {
if (n == 1 || n == 2) {
return 1
}
return fun(n - 1) + fun(n - 2)
}
var num = prompt("请输入你要求的第几位的斐波那契数列:") - 0
var res = fun(num)
document.write("第" + num + "位的斐波那契数列为:" + res)
</script>
</body>
</html>
练习数学逻辑应当多加思考和实践,习题的解答方式不唯一,如果上述解题方法有误欢迎小伙伴们一同探讨哦~