JavaScript里的一些运算题

开发一款软件,根据公式(身高-108)*2=体重,可以由10斤左右的浮动

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var height = prompt("请输入您的身高");
			var weight = prompt("请输入把你的体重");
			
			//标准体重
			var standard_weight = (height - 108) *2;
			
			console.log(standard_weight);
			
			//体重的极值:
			var min_weight = standard_weight -10;
			
			var max_weight = standard_weight +10;
			
			//判定你的体重是否符合标准
			
			if(weight > min_weight && weight <= max_weight){
				alert("标准体重");
			}else{
				alert("体重不标准");
			}
		</script>
	</head>
	
	
	<body>
		
		
	</body>
</html>

输入分数,判定成绩等级(if 和 switch两种写法)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
		<script type="text/javascript">
			var score = prompt("请输入成绩,我们将为您打分");
			
			switch (true){
				case score >= 90:
					alert("成绩为优秀");
					break;
				case score >= 60 && score <=89:
					alert("成绩良好");
					break;
				case score <=59:
					alert("成绩一般");
					break;
				default:
					break;
			}
		</script>
	</head>
	<body>
	</body>
</html>

输入月份,显示当月的天数,利用case穿透简化代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<script type="text/javascript">
		if(1 || 3 || 5 || 7 || 8 ||10 ||12){
			
		}
		var month = prompt("请输入月份");
		var year = prompt("请输入年份");
		
		switch (Number (month)){
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				alert("31天");
			
				break;
				
			case 4:
			case 6:
			case 9:
			case 11:
				alert("30天");
				break;
			case 2:
				if(year % 4 === 0 && year % 100 !==0 || year % 400 ===0){
					alert("29天");
				}else{
					alert("28天");
				}
			default:
				break;
		}
		
	</script>
	<body>
	</body>
</html>

根据日期,判断这个日期是这一年的第几天

<!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 穿透编写)
        // 例如: 2016,02,11,计算后结果为42
        // 1. 拆出8位数的日期字符串;
        // 2. 根据年月日判定当前日期已经经过了多少天;

        var date_string = prompt("请输入八位数的日期");    
        // 20200226

        // 拆分日期: 取得日期字符串的后两位数字;
        var date   = date_string % 100;
        // 拆分月份: date_string / 100;  202002.26 => 取整 => 202002 % 100
        var months = parseInt(date_string / 100) % 100;
        // 年份  : 20200226 / 10000 => 2020.0226 => 取整 => 2020
        var years  = parseInt(date_string / 10000);

        // console.log(date , months , years);
        // 2. 根据年月日判定当前日期已经经过了多少天;
        // 前面所有月份的日期总和 :
        // 5.20 
        // 1 月份天数 + 2月份天数 + 3月份天数 + 4月份天数;
        // + 20;
        var days = 0;
        switch( months - 1 ){
            case 11 : 
                days += 30
            case 10 : 
                days += 31
            case 9 : 
                days += 30
            case 8 : 
                days += 31
            case 7 : 
                days += 31
            case 6 : 
                days += 30
            case 5 : 
                days += 31
            case 4 : 
                days += 30
            case 3 : 
                days += 31;
            case 2 : 
            // 判定平年闰年;
                if(years % 4 === 0 && years % 100 !== 0 || years % 400 === 0){
                    days += 29;
                }else{
                    days += 28;
                }
            case 1 : 
                days += 31;
        }
        days += date;

        console.log(days);
        

    </script>
</body>
</html>

入职薪水10k,每年涨幅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>
        // 入职薪水10K,每年涨幅5%,第50年工资多少
        var salary = 10000;
        // 涨薪需要重复执行50次!;
        // for(var i = 0 ; i < 50 ; i ++){
        //     console.log(1)
        // }
        // 循环的作用 : 重复执行50次代码;
        for(var i = 0 ; i < 50 ; i ++){
            salary *= 1.05;
        }   

        console.log(salary);



    </script>
</body>
</html>

计算1~100之间所有偶数的和

<!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>
        //计算1~100之间所有偶数的和

           1. 获取 1 ~ 100 之间所有偶数;
           for(var i = 1; i <= 100; i ++){
               // 判断偶数;
               if( i % 2 === 0){
                   // 是偶数;
                   console.log(i);
               }
           }
        // 2. 求和 !;
           1 + 2  + 3 + 4 + 5;
           var sum = 0;
           sum += 1;
           // sum => 1;
           sum += 2;
           // sum => 3
           sum += 3;
           // sum => 6 
           sum += 4;
           sum += 5;
        
        // 容器 : 
           var sum = 0;
           for(var i = 1 ; i <= 100; i ++){
               if( i % 2 === 0){
                   // i 就是偶数;
                   sum += i;
               }
           }
           console.log(sum)

        // 优化 :  量力而行 ;
           var sum = 0;
           for(var i = 2 ; i <= 100; i += 2){
                   sum += i;
           }
           console.log(sum)


    </script>
</body>
</html>

闰年

<!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>
        //计算1000~2000之间的闰年(每行四个,打印到页面)

        // 1. 如何获取 1000 ~ 2000 年之间的闰年;
        // 穷举 :
        // for(var i = 1000 ; i <= 2000 ; i ++){
        //     // i => 1000 ~ 2000;
        //     if( i % 4 === 0 && i % 100 !== 0 || i % 400 === 0){
        //         // 这个逻辑里面 ,document.write API执行一次则表示我们向页面上输出了一次内容;
        //         document.write(i + "&nbsp;&nbsp;");
        //     }
        // }
        // 2. 记录什么时候打印了四个!;
        
        // count => 记录在页面上的输出次数的;
        // for(var i = 1000, count = 0; i <= 2000 ; i ++){
        //     if( i % 4 === 0 && i % 100 !== 0 || i % 400 === 0){
        //         // 这个逻辑里面 ,document.write API执行一次则表示我们向页面上输出了一次内容;
        //         document.write(i + "&nbsp;&nbsp;");
        //         count ++;
        //     }
        //     // 逻辑 => 判断什么时候输出了四个数字;
        //     if( count === 4 ){
        //         // 判定结束之后,一定要将计数器清零!;
        //         count = 0;
        //         document.write("</br>");
        //     }
        // }



    </script>
</body>
</html>

水仙花数

<!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~999之间的水仙花数 
        // 水仙花数 : 自恋数 , 三叶草数 ....

        // 自恋数 : 
        // 1. 是一个三位数 
        // 2. abc  === a ³ + b ³ + c ³;

        // 穷举 : 
        // for(var i = 100; i <= 999 ; i ++){
        //     // 1. 拆分!;
        // }
        
        // 拆分数字 : 
        // for(var i = 100; i <= 999 ; i ++){
        //     // 1. 123 
        //     // 个位数的拆分;
        //     var ge  = i % 10;
        //     // 十位数的拆分;
        //     // 123 / 10  => 12.3 =取整> 12 % 10 => 2; 
        //     var shi = parseInt(i / 10) % 10;
        //     // 百位数的拆分;
        //     var bai = parseInt(i / 100);
        //     console.log(bai,shi,ge); 
        // }
        // 计算数字的n次方;
        // var res = Math.pow(2,4);
        // console.log(res);

        // 计算条件 : 
        // for(var i = 100; i <= 999 ; i ++){
        //     // 1. 123 
        //     // 个位数的拆分;
        //     var ge  = i % 10;
        //     // 十位数的拆分;
        //     // 123 / 10  => 12.3 =取整> 12 % 10 => 2; 
        //     var shi = parseInt(i / 10) % 10;
        //     // 百位数的拆分;
        //     var bai = parseInt(i / 100);
        //     if(Math.pow(ge,3) + Math.pow( shi , 3) + Math.pow( bai , 3) === i ){
        //         console.log(i);
        //     }
        // }

        // ES6 的乘方  : 
        // Math.pow(基数,n次方)
        // 基数 ** n;  兼容性不好;

        // for(var i = 100; i <= 999 ; i ++){
        //     // 1. 123 
        //     // 个位数的拆分;
        //     var ge  = i % 10;
        //     // 十位数的拆分;
        //     // 123 / 10  => 12.3 =取整> 12 % 10 => 2; 
        //     var shi = parseInt(i / 10) % 10;
        //     // 百位数的拆分;
        //     var bai = parseInt(i / 100);
        //     if(ge ** 3 +  shi ** 3 + bai ** 3 === i ){
        //         console.log(i);
        //     }
        // }

        // 计算水仙花数 : 
        // 水仙花数 :  
        // 1. 必须是三位数;  abc ;
        // 2. abc  ==  a ³ + b³  + c ³;

        // 找出水仙花数;
        // for(var i = 100; i <= 999; i ++){
        //     // 根据已知查看谁符合条件;
        //     // 1. 拆分三位数;
        //     // 123 
        //     var ge = i % 10;
        //     // 123 => 12.3 => 取整 => 12 % 10 => 2 
        //     var shi = parseInt(i / 10) % 10;
        //     // 123 => 1.23
        //     var bai = parseInt( i / 100);
        //     // 根据条件去判定 : 
        //     if( i === Math.pow(ge,3) + Math.pow(shi,3) + Math.pow(bai,3)){
        //         console.log(i);
        //     }
        // }


    </script>
</body>
</html>

打印7的倍数

<!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>
        // 循环问题解决方案共两种 : 

        // 1. 算法解决;
        // 2. 穷举解决;

        // 穷举解决 : 穷举 => 试;
        // 1. 共有100种可能!; => 把一百种可能全部列出来;
        // 2. 逐一排查,谁符合规则;

        // 打印100以内7的倍数

        // 1. 打印 1 ~ 100 之间的所有整数;
        // for(var i = 1 ; i <= 100; i ++){
        //     // 代码会重复执行一百次!;
        //     console.log(i);
        // }

        // for(var i = 1 ; i <= 100; i ++){
        //     // 代码会重复执行一百次!;
        //     if( i % 7 === 0){
        //         console.log(i);
        //     }
        // }

        // 算法类 :
        // 7 的倍数是从7开始每次增加7;
        // for(var i = 7 ; i <= 100 ; i += 7){
        //     console.log(i);
        // }

        // 性能测试 : 
        // time 和 timeEnd 之间代码的运行时间会被打印出来,我们通常用这样的测试工具去测试程序的性能!;
        // console.time("test");
        // // 算法类 :
        // // 7 的倍数是从7开始每次增加7;
        // for(var i = 7 ; i <= 100 ; i += 7){
        //     console.log(i);
        // }
        // console.timeEnd("test");

    </script>
</body>
</html>

素数

<!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>
        // 计算1 ~ 100 之间所有的素数
        // 素数 : 除了1 和他本身没有可以整除它的数字,这样的数我们就称之为素数;

        // 反证法 : 它不是素数;
        // 证明 : 除了1 和他本身有可以整除它的数字,那么这个数字就不是素数;

        for(var i = 1; i <= 100; i ++){
            // i 是 1 ~ 100所有的数字;
            // 标志变量 : 给每次循环的每个数字添加上一个标志 ;
            // 标志标明 : 假设这个数字就是素数;
            // 这个数字是素数;
            var flag = true;
            // console.log( i , flag );
            // 反证 :   除了1 和它本身所有的数字;
            
            // console.log("---------------------")
            // 嵌套循环 : 变量名不能一样;
            for(var k = 2 ; k < i ; k++){
                // console.log(k);
                if( i % k === 0){
                    flag = false;
                    break;
                }
            }
            // 经过上述的反证 , 我们根据 flag 判定当前数字是不是素数;
            // 如果 flag 是true;
            if( flag ){
                console.log(i)
            }
        }

    </script>
</body>
</html>

在页面打印等腰三角形

<!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>
        body{
            text-align: center;
        }
    </style>
</head>
<body>
    <script>
        // 打印对应行和列的星星;
        // 打印矩形 : 

        // for(var i = 0 ; i < 10 ; i ++){
        //     // 执行十次;
        //     document.write("a");
        // }
        
        // 打印的a,每个a都独立一行!;
        // for(var i = 0 ; i < 10 ; i ++){
        //     // 执行十次;
        //     document.write("a");
        //     document.write("</br>");
        // }

        // 每行想要打印10个a;
        // for(var i = 0 ; i < 10 ; i ++){
        //     // 执行十次;
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("a");
        //     document.write("</br>");
        // }
        
        // 优化 : 

        // for(var i = 0 ; i < 10 ; i ++){
        //     // 执行十次;
        //     for(var k = 0 ; k < 10 ; k ++){
        //         document.write("a");
        //     }
        //     document.write("</br>");
        // }

        // 打印直角三角形 

        // for(var i = 0 ; i < 10 ; i ++){
        //     // 执行十次;
        //     // i  => 0 1 2 3 4 5 6 7 8 9 
        //     //    => + 1 
        //     for(var k = 0 ; k < i + 1 ; k ++){
        //         document.write("a");
        //     }
        //     document.write("</br>");
        // }

        // 打印等腰三角形 ;
        // 每行要打印的a的数量 : 

        //i : 0 1 2 3 4 5 ...   n   
        //                 
        //打印a的个数 :  1 3 5 7 9 11 .. 2 * n + 1;

        // for(var i = 0 ; i < 5 ; i ++){
        //     // i 的值是 0 1 2 3 4 5 6 7;
        //     // 2 * i + 1 的值是 : 1 3 5 7 9 ...
        //     for(var k = 0 ; k < i * 2 + 1 ; k ++){
        //         document.write("a");
        //     }
        //     document.write("</br>")
        // }

        // // 打印倒着的等腰三角形 

        // for(var i = 3 ; i >= 0 ; i --){
        //     // i 的值是 3 2 1 0;
        //     // 2 * i + 1 的值是 : 7 5 3 1  ...
        //     for(var k = 0 ; k < i * 2 + 1 ; k ++){
        //         document.write("a");
        //     }
        //     document.write("</br>")
        // }

        // 空心菱形 :   
        // 分辨for循环的开头和结尾 : 
        // 开头结尾打印 a;
        // 其余的打印空格;

        // for(var i = 0 ; i < 10 ; i ++){
        //     // i === 0 开头;
        //     // i === 9 结尾;
        // }


        for(var i = 0 ; i < 5 ; i ++){
            // i 的值是 0 1 2 3 4 5 6 7;
            // 2 * i + 1 的值是 : 1 3 5 7 9 ...
            for(var k = 0 ; k < i * 2 + 1 ; k ++){
                // 分辨开头和结尾;
                if( k === 0 || k === i * 2  ){
                    document.write("a");
                }else{
                    document.write("&nbsp;&nbsp;");
                }
            }
            document.write("</br>")
        }

        // // 打印倒着的等腰三角形 

        for(var i = 3 ; i >= 0 ; i --){
            // i 的值是 3 2 1 0;
            // 2 * i + 1 的值是 : 7 5 3 1  ...
            for(var k = 0 ; k < i * 2 + 1 ; k ++){
                if( k === 0 || k === i * 2 ){
                    document.write("a");
                }else{
                    document.write("&nbsp;&nbsp;");
                }
            }
            document.write("</br>")
        }



    </script>
</body>
</html>

九九乘法表

<!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>
        // 九九乘法表就是根据 行和列拼接出 的一个乘法口诀表格。
        // 9 行 9 列;
        // 行 :
        // row 
        for(var row = 1 ; row <= 9 ; row ++){
            for(var col = 1; col <= row ; col ++){
                // 前面是列 + 行 ;
                document.write(col + "*" + row  +"=" + col * row + "&nbsp;&nbsp;");
            }
            document.write("</br>")
        }

    </script>
</body>
</html>

函数形式实现

<!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 nn(){
        //     for(var row = 1 ; row <= 9 ; row ++){
        //         for(var col = 1; col <= row ; col ++){
        //             // 前面是列 + 行 ;
        //             document.write(col + "*" + row  +"=" + col * row + "&nbsp;&nbsp;");
        //         }
        //         document.write("</br>")
        //     }
        // }

        // 对功能的实现;
        // 业务;
        // for(var m = 0 ; m < 10 ;  m ++){
        //     nn()
        // }

    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/tony_yang6/article/details/106836405
今日推荐