JavaScript中的关系运算符和循环练习

关系运算符
和其他运算符一样,当关系运算符操作非数值时要遵循一下规则:
(1)两个操作数都是数值,则数值比较
(2)两个操作数都是字符串,则比较两个字符串对应的字符编码值:
如果是两个单个字符进行比较,直接比较字符的ASIIC码值
逐位,进行比较,如果比较出大小,就直接得出结果
(3)两个操作数有一个是数值,则将另一个转换为数值,再进行数值比较

    <script>
        alert("A"<"a");//true
        alert("abcd">"adc");//false
        alert(1==true);//true
        // 注意
        alert(Number(null));//0
        alert(Number(undefined));//NAN
        alert(null==undefined);//true
    </script>

分支语句
代码规范:
1、运算符前后,都要加空格
2、;或.后面只需要加一个空格
3、代码缩进

    <script>
        var year = 2020;
        if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0){
            alert("这是一个闰年:" + year);
        }else{
            alert("这是一个平年:" + year);
        }
    </script>

省略break

    <script>
        var month = 4;
        var year = 2000;
        switch(month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                alert("31天");
                break;
            case 2:
                if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0){
                    alert("29天");
                }else{
                    alert("28天");
                }
                break;
            default:
                alert("30天");
                break;
        }
    </script>

请添加图片描述
九九乘法表

    <script>
        //i是行
        for(var i = 1; i <= 9; i++){
            //j是列
            for(var j = 1; j <=i; j++){
                doucument.write(j + "X" + i +"=" + (i*j) + "&nbsp");
            }
            doucument.write("<br/>");
        }
    </script>

三角

    <script>
        for(var i = 1; i <= 5; i++){
            //空格数
            for(var k = 1; k <= 5-i; k++){
                document.write("1");
            }
            //
            for(var j = 1; j <= i; j++)
            {
                document.write("2");
            }
            document.write("<br/>");
        }
    </script>

请添加图片描述
找出所有的水仙花数,三位数,各位立方和等于该数本身。
153=1 ^3 + 5 ^ 3 + 3 ^ 3
Math.pow(x,y);求x的y次方

  <script>
        for(var i=100;i<1000;i++)
        {
            //每一位取出
            var a=i%10;
            var b=parseInt(i/10)%10;
            var c=parseInt(i/100);
            //立方体
            var sum=Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3);
            if(i==sum){
                document.write(i+"<br/>");
            }
        }
    </script>

请添加图片描述
输入两个数,求两个数的最大公约数(能够同时整除两个数的最大数)
思路:先找出两个数中最小的那个数
最大公约数,最小是1,最大只能两个数中的较小数

    <script>
        var num1=12;
        var num2=6;
        var min=num1>num2?num2:num1;
        while(1){
            if(num1%min==0&&num2%min==0){
                break;
            }
            min--;
        }
        alert("两者的最大公约数: "+ min);
    </script>

请添加图片描述
输入两个数 ,求两个数的最小公倍数(能够同时被两个数整除的最小数)
思路:先找出两个数的最大数
最大数++,直到找出能被两个数整除的数(退出循环)
最小公倍数:最大两个数的积,最小两个数中的较大数

          <script>
              var num1=6;
              var num2=12;
              var max=num1>num2?num1:num2;
              while(1){
                  if(max%num1==0&&max%num2==0){
                      break;
                  }
                  max++;
              }
              alert("两者的最小公倍数:"+max);
          </script>

请添加图片描述
输入两个数n,a,如果n=3,a=2;
输出2+22+222的值。(不用输出式子)
如果n=4,a=3;
输出3+33+333+3333
思路:n=3,相加三次,每次相加比前一次相加的数,多一位
每次多的这个位数的值为a

          <script>
              var n=4;
              var a=3;
              var tmp=a;//tmp是每一次累加的数
              var sum=0;
              for(var i=0;i<n;i++){
                  sum+=tmp;
                  tmp=tmp*10+a;
              }
              alert(sum);
          </script>

请添加图片描述
五位数中,对称的数成为回文数,找出所有的回文数,如12321
思路:先找出五位数中的第一位和第五位数比较
在找出五位数中的第二位和第四位数比较

          <script>
              for(var i=10000;i<100000;i++){
                  var a=i%10;//个位
                  var b=parseInt(i/10)%10;//十位
                  var c=parseInt(i/1000)%10;//千位
                  var d=parseInt(i/10000)%10;//万位
                  if(a==d&&b==c){
                      document.write(i+"<br/>");
                  }
              }
          </script>

请添加图片描述
输入年、月、日,计算某一天是该年的第几天(周)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 输入年、月、日,计算某一天是该年的第几天(周) -->
    <script>
        var year=2008;
        var month=2;
        var date=8;
        var sum=0;//记录总天数
        switch(month){
            case 12:
                sum+=30;
            case 11:
                sum+=31;
            case 10:
                sum+=30;
            case 9:
                sum+=31;
            case 8:
                sum+=31;
            case 7:
                sum+=30;
            case 6:
                sum+=31;
            case 5:
                sum+=30;
            case 4:
                sum+=31;
            case 3:
                sum+=28;
                if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0){
                    sum+=1
                }
            case 2:
                sum+=31;
            case 1:
                sum+=date;
                break;
            default:date
                alert("error");
                break;
        }
        alert("这是第 "+ sum + "天");
       // var week = parseInt(sum/7)+1;
       var week=Math.ceil(sum/7);
        alert("这是第 "+ week + "周");
    </script>
</head>
<body>
    
</body>
</html>

请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值