javascrip的小作业(2)

问题:一个0到23的数字,规定0-5为早晨,6-11为上午,12-17为下午,18到23为晚上。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>判断时候</title>
    </head>
    <body>
        <input type="text" id= "time"   />
        <input type="button" onclick="search()"  value="查询"/>

        <script type="text/javascript">
         function search(){
            var noon = document.getElementById("time").value;
            if(noon>23||noon<0)
            alert("输入错误,请重新输入");
            else if (noon>=18)
            alert("您输入的时间为晚上");
            else if(noon>=12)
            alert("您输入的时间为下午");
            else if(noon>=6)
            alert("您输入的时间为上午");
            else  
            alert("您输入的时间为早晨");
         }


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

Tips:注意限制时间必须为0-23而 0与23都可取。
所以 用关系 与 “||”;

问题:已知两个数,如果两个数之间不为倍数关系(即:第一个数不能整除第二个数,并且第二个数也不能整除第一个数),则输出真,否则输出假。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>判断两个数是否为倍数关系</title>
    </head>
    <body>
        <input type="text" id="one" placeholder="请输入第一个数" /><br />
        <input type="text" id="two" placeholder="请输入第二个数" /><br />
        <input type="button" value="点击判断" onclick="judge()">
        <script type="text/javascript">
            function judge(){
                var Num1 = document.getElementById("one").value;
                var Num2 = document.getElementById("two").value;
                if(Num1%Num2==0 && Num2%Num1==0)
                alert("为假");
                else
                alert("为真");

            }

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

Tips:
能整除即商的余数为0,用%求余数;
要同时能整除,则应该用&&表“且”的意思;
判断是否等于 应该用==,
= 表示赋值;

问题:给一个数,如果该数能够被3整除,输出真,否则输出假。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>判断是否能被3整除</title>
    </head>
    <body>
        <input type="text" id="one" placeholder="请输入一个数" /><br />
        <input type="button" value="点击判断" onclick="judge()">

        <script type="text/javascript">
            function judge(){
                var Num1 = document.getElementById("one").value;
                if(Num1%3==0)
                alert("为真");
                else
                alert("为假");

            }

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

Tips:
被3整除,即该数除以3余数为0;

问题:.给一个数,判断是奇数还是偶数。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>判断是奇数还是偶数</title>
    </head>
    <body>
        <input type="text" id="one" placeholder="请输入一个数" /><br />
        <input type="button" value="点击判断" onclick="judge()">

        <script type="text/javascript">
            function judge(){
                var Num1 = document.getElementById("one").value;
                if(Num1%2==0)
                alert("为偶数");
                else
                alert("为奇数");

            }

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

Tips:
0也为偶数;
负数也分负偶数和负奇数;

问题: 求1—100奇数的和。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>求1-100之间奇数的和</title>
        <input type="button" value="点击求1-100之间奇数的和" onclick="run();"/>
    </head>
    <body>
    <script type="text/javascript">
        function run(){
            var sum=0;
            for(i=1;i<100;i=i+2)
            {
                sum=sum+i;
            }
            alert("1-100之间奇数的和为:"+sum);
        }
    </script>
    </body>
</html>

Tips:
for循环中,条件之间 用 “ ; ”

问题:求1+2+3……+1000的和,把和输出,计算每步结果中有多少个最后以8结尾的。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>一个有趣的求和</title>
    </head>
    <body>
        <input type="button" value="点击进行计算" onclick="run()" />
        <script type="text/javascript">
            var sum = 0;
            var num = 0;
            function run(){
                for(i=1;i<=1000;i++)
                {
                    sum=sum + i;

                    if (sum % 10==8)
                    {
                        num=num+1;
                    }
                    else{
                        continue;
                    }
                }
                alert("1到1000的和为:"+sum);
                alert("其中和以 8结尾的个数:"+num);
            }
        </script>   
    </body>
</html>

Tips:
continue 为终止本次循环,开始下一次循环;
break 为结束整个循环;

如果用if…else
则应该如上终止此次else循环,直至下一次,if条件再次满足,才能继续循环;
而如果用while的话 当满足while的条件时,除了应该记录,进行num=num+1 外,还应解除本次while的循环,直至下次满足While 条件时,才再次记录,所以应该用 break终止此次循环,用contiue 的话,只能结束While 内的一次循环,仍导致当满足一次While的条件时,陷入死循环;

使用While循环 的代码如下:

<html>
    <head>
        <meta charset="UTF-8">
        <title>一个有趣的求和</title>
    </head>
    <body>
        <input type="button" value="点击进行计算" onclick="run()" />
        <script type="text/javascript">
            var sum = 0;
            var num = 0;
            function run(){
                for(i=1;i<=1000;i++)
                {
                    sum=sum + i;

                    while (sum % 10==8)
                    {
                        num=num+1;
                        break;
                    }

                }
                alert("1到1000的和为:"+sum);
                alert("其中和以 8结尾的个数:"+num);
            }
        </script>   
    </body>
</html>

问题: 计算1+2+3……,直到和大于500,程序退出,输出结果。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>一个简单的求和</title>
    </head>
    <body>
        <input type="button" value="点击进行计算" onclick="run()" />
        <script type="text/javascript">
            var sum = 0;
            function run(){
                  for(i=1;sum<=500;i++)
                    {
                       sum=sum+i;
                    }

            alert("大于500的最小的和为:"+sum+"此时的i的值为:"+i);
                            } 
        </script>
    </body>
</html>

Tips:
首先看清题目要求为直至和大于500,则输出结果;
在for循环中因为无法用i的值来限制运算,因此只能用sum的值来限制运算,而只有当Sum第一次刚好大于500时,才能终止循环,输出值,因而求出的sum为刚好大于500的第一个值;

如若要求出不大于500的最大值,则应另外定义一个字符,再令其等于Sum-i;
特别注意:
为了保证严谨,应该单独再定义一个i;
因为循环中的i为函数中的局部变量;在函数以外是无权访问的!!!

求不大于500的最大和的代码如下:

 <!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>一个简单的求和</title>
    </head>
    <body>
        <input type="button" value="点击进行计算" onclick="run()" />
        <script type="text/javascript">
            var sum = 0;
            var i;
            function run(){
                  for(i=1;sum<=500;i++)
                    {
                       sum=sum+i;
                    }

                   sum1=sum-i;
            alert("不大于500的最小的和为:"+sum1+"此时的i的值为:"+i);
                            } 
        </script>
    </body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值