JS中有关分支结构、循环结构以及函数应用的一些简单练习

案例一:搬桌子    年龄大于七岁男女都可以搬桌子,年龄小于七岁大于五岁的男生可以搬桌子;

     var num =parseInt(prompt("请输入你的年龄"))
     var sex = prompt("请输入你的性别:男/女")
            if(num>=7){
            alert("你可以搬桌子哦")
        }
        else{
            if(num>=5&&sex=="男"){
                alert("你可以搬桌子哦")
            }
            else{
                alert("你还小,不可以搬桌子啊")
            }
        }

案例二:迷你计算器  : 输入两个数以及运算符号得出相应的运算结果。(本题使用switch ()case:   来做也很方便)

                      var num1 = parseFloat(prompt("请输入第一个数:"));
              var fu = prompt("请输入操作符号:");
              var num2 = parseFloat(prompt("请输入第二个数:"));

                    if(fu=="+"){
                 var result =num1+num2
            }
            else{
                if(fu == "-"){
                     var result =num1-num2
                }
                else{
                    if(fu == "*"){
                     var result =num1*num2
                }
                else{
                    if(fu == "/"){
                     var result =num1/num2
                }
                else{
                    alert("您的输入有误")
                }
                }
                }

            }

            alert("结果为:"+result);

案例三 根据年龄和成绩给学生评价:如果年龄 大于20岁,60分及以上给及格,60分以下告知回去准备补考;如果年龄小于20岁,成绩大于等于60分,夸奖他是个天才,如果成绩低于60分,告诉他不要气馁。

var num = parseFloat(prompt("请输入你的成绩"));
        var age =  parseInt(prompt("请输入你的年龄"));
        if(num>=60){
            if(age>=20){
                alert("恭喜你及格了!")
            }
            else{
                alert("你真是个天才!")
            }
        }
        else{
            if(age>=20){
                alert("回去准备补考吧,骚年!")
            }
            else{
                alert("你还小,再加油哟!")
            }
        }

案例四 企业发放奖金

var num =parseFloat(prompt("请输入您的利润_万元"));

             if(num<=10){
                 alert("您的奖金为"+num*0.1+"万元")

             }
             else if(num<=20){
                     alert("您的奖金为"+(10*0.1+(num-10)*0.075)+"万元")
                 }
             else  if(num<=40){
                     alert("您的奖金为"+(10*0.1+10*0.075+(num-20)*0.05)+"万元")
                 }
             else if(num<=60){
                     alert("您的奖金为"+(10*0.1+10*0.075+20*0.05+(num-40)*0.03)+"万元")
                 }
             else if(num<=100){
                     alert("您的奖金为"+(10*0.1+10*0.075+20*0.05+20*0.03+(num-60)*0.015)+"万元")
                 }
             elseif(num>100){
                     alert("您的奖金为"+(10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(num-100)*0.01)+"万元"
                 }
                 else{
                     alert("您的输入有误")
                 }

             }

案例五 找出所有的水仙花数

步骤:1、找出所有三位数:100~999
    2、写出水仙花数的判定条件
            for(var i = 100; i < 1000; i++) {
                var a = i % 10;
                var b = parseInt((i / 10) % 10);
                var c = parseInt(i / 100);
                if(i == a * a * a + b * b * b + c * c * c) {
                    document.write(i + "<br />");
                }
            }

案例六 输入一个月份确定其所在季度

             方法一:                var moon=prompt("月份");

                switch (true){
                case moon>=1&&moon<=3:
                    document.write("第一季度");
                    break;
                case moon>=4&&moon<=6:
                    document.write("第二季度");
                    break;
                case moon>=7&&moon<=9:
                    document.write("第三季度");
                    break;
                case moon>=10&&moon<=12:
                    document.write("第四季度");
                    break;
                default:
                    document.write("输入无效");
                    break;
            }

方法二:               switch (parseInt((month-1)/3)){                case 0:                     document.write("第一个季度");                    break;                                 case 1:                                         document.write("第二个季度");                                         break;                                 case 2:                                         document.write("第三个季度");                                         break;                                 case 3:                                         document.write("第四个季度");                                         break;                default:                                         document.write("输入有误");                    break;            }

案例七:计算出1-100之间所有不能被3 整除的整数的和;当和大于或等于2000时终止计算;
               输出此时的和以及对应的数字.

            for(var num=1,sum=0;num<=100,sum<=2000;num++){
                if (num%3!=0) {
                    sum+=num;
                }
            }

            document.write("此时的和为"+sum+"<br />"+"对应的数为"+num)
            

案例八:输入某年某月某日,试确定这一天是这一年的第几天.

//            方法一:
            // ① 拿到年月日
            var year = parseInt(prompt("请输入 年份:"));
            var mon = parseInt(prompt("请输入 月份:"));
            var day = parseInt(prompt("请输入 日期:"));
            // ② 根据月份求出当前月,之前的所有月份的天数和;
            var days = 0;
            for(var i=1; i<mon ; i++){
                if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
                    days += 31;
                }else if(i==4||i==6||i==9||i==11){
                    days += 30;
                }else { // 2月份多少天,需要判断是否是闰年
                    if(year%4==0&&year%100!=0 || year%400==0){
                        days += 29;
                    }else{
                        days += 28;
                    }
                }
            }
            days += day; // 将当前月份的天数,加上
            document.write("这是今年的第"+days+"天");

        // 【第二种方法】
            var days = 0;
            // ② 根据月份求出当前月,之前的所有月份的天数和;
            switch (mon-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(year%4==0&&year%100!=0 || year%400==0)
                        days += 29;
                    else
                        days += 28;
                case 1:
                    days += 31;
                case 0:
                    days += 0;
            }
            days += day; // 将当前月份的天数,加上
            document.write("这是今年的第"+days+"天");

//    方法三
         var year=parseInt(prompt());
            var month=parseInt(prompt());
            var day=parseInt(prompt());
            var feb=0;
            var days=0;

            if(year%4==0&&year%100!=0||year%400==0) {
                feb=29;}
            else{feb=28;}
            for (var i=1;i<month;i++) {
                switch(i){
                    case 1:case 3:case 5: case 7: case 8: case 10: case 12:
                     days+=31;
                    break;
                    case 2:
                     days+=feb;
                    break;
                    case 4:case 6:case 9: case 11:
                     days+=30;
                    break;
                    default:
                    break;
                }
            }
            days = days+day;

            alert(days);

案例九  山上有一口缸可以装50L水,现在里面有15L水,老和尚叫小和尚下山挑水,小和尚一次能挑5L水,
             请问小和尚要挑几次水才能把缸填满?

          

    方法一:
            for(var num=0,sum=3;sum<=10;num++)            {
                sum++;

            }

            document.write("小和尚需要挑水"+(num-1)+"次")

    方法二:    计数器法*/

          for(var sum=15,count=0; sum<50; sum+=5,count++)
          {

          }
            document.write("小和尚一共挑了"+count+"次水");
            

案例十  输入任意一个整数(小于十位)求出它的位数

        var num = parseInt(prompt("请输入一个整数"))
        var count =0;

          do{
            num=  parseInt(num/=10)    ;
              count++;
          }while(num>0);

         document.write(count)
            

案例十一  输入一个数,将其倒序输出

          var num = parseInt(prompt("请输入一个整数"))
          while(num>0){
            var a=num%10;
           document.write(a);
           num=parseInt(num/10);
          }
        

案例十二 斐波纳切分数数列    1/2   2/3  3/5  5/8  8/13......

    document.write(1+"/"+2+" "+2+"/"+3+" " );
            for(var a=2,b=3,c,n=3;n<=20;  c=b ,b=a+c,a=c,n++)

            {

                document.write(" "+b+"/"+(a+b))
                if(n%5==0)
                document.write( "<br />")
            }

案例十二 斐波纳切数列   1,1,2,3,5,8,13,21,....

          document.write(1+" "+1+" ");
            for(var a=1,b=1 ,c,n=3;n<=20;  a=b,b=c,n++)

            {
                c=a+b,

                document.write(c+" ")
                if(n%5==0)
                document.write( "<br />")
            }
        

案例十三   编写一个程序最多接受十个数字,并且求出其中所有正数的和,
                 用户可以通过输入999来结束输入,统计用户输入的正数个数,并求出他们的和;
 

             for(var n=1,sum=0,a=0; n<=10;n++   )

             {
                var m =parseFloat(prompt("请输入第"+n+"个数"))
                if (m<0) {continue;}
                else if(m>0&&m!=999){
                    sum+=m
                    a++;
                }
                else{break;}
            }
            document.write("您输入正数有"+a+"个"+"<br />");
            document.write( "它们的和为"+sum);

      

时间: 2025-01-06 10:42:14

JS中有关分支结构、循环结构以及函数应用的一些简单练习的相关文章

js中的4种循环结构

js有4种循环结构: 1.for循环 ==>多次遍历代码块 2.for / in循环==>遍历对象属性 3.while循环==>当指定条件为true时,循环代码块 4.do while循环==>当指定条件为true时,循环代码块 for循环 一般都有特定的计数器变量.操作计数器的三个重要步骤为:初始化.检测.更新 语句1的作用是将变量初始化: 语句2的作用是在每次循环前都要检测变量的值是否在某一个范围内: 语句3的作用是更新计数器变量:每次循环后进行自增或者自减操作 for(语句1

js中的分支与循环

一.js的分支结构 js的分支结构包括:if-else结构.多重if结构.嵌套if结构和switch-case结构 1.if-else结构 1.结构的写法:    if(判断条件){    //条件为ture时,执行if的{}    }else{     //条件为false时,执行else的{}    }     2.注意事项:     ①else{}语句块.可以根据情况进行省略.     ②if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句:(所以,并不建议省

python分支和循环结构

本文收录在Python从入门到精通系列文章系列 1. 分支结构 1.1 应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构.然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本局游戏后,我们要根据玩家得到分数来决定究竟是进入第二关,还是告诉玩家“Game Over”,这里就会产生两个分支,而且这两个分支只有一个会被执行.类似的场景还有很多,我们将这种结构称之为“分支结构”或“选择结构”

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

JS中的运算符和JS中的分支结构

JS中的运算符 1.算术运算(单目运算符) + .-.*. /. %取余.++自增 .--自减 +:两种作用,链接字符串/加法运算.当+两边全为数字时,进行加法运算:当+两边有任意一边为字符串时,起链接字符串作用, 链接之后的结果为字符串. 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字: /:结果会保留小数点. ++:自增运算符,将变量在原有基础上+1: --:自增运算符,将变量在原有基础上-1: [a++和++a的异同] ①相同点:无论a++还是++a,运算完以后,a的

java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)

JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: if...else...结构和switch...结构       switch中的case支持的数据类型只有四种:    char  (字符型)    byte  (比特型)    short (短整型)    int     (整型) 注意switch里面的判断语句后面需要加break,否则的话

Java程序设计的基本结构 - 循环结构

Java程序设计的基本结构 - 循环结构 文本关键字:基本结构.循环结构.while.do-while.for 一.循环的基本结构 为了讲解方便,我们可以将循环结构划分为四个部分来进行描述.当然,这四个部分并不是都要出现,甚至在都不出现时也可以构成一个循环结构.并且,对于不同的循环结构,每个部分的相对位置也不同. 1. 初始化部分 在进入循环结构之前可以定义一些循环中以及循环结束后都要用到的变量,进行赋值. 2. 判断条件部分 用于决定是否继续进行循环,如果为假,则循环结束.判断部分可以直接使用

Js中常用的字符串,数组,函数扩展

由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展,一来可以练练手,二来也锻炼下自己的代码能力.由于代码里面的注释自认为已经非常详细,所以就直接贴代码了. 1. 字符串扩展: ;(function() { var method, stringExtends = { /** * 删除字符串开始和结尾的空白 * @returns {string} */ stri

JS基础-----JS中的分支结构及循环结构

[分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语句块.可以根据情况进行省略. ②if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句.(所以并不建议省略{}) 3.if的()中的判断条件,支持的情况: ①Boolean:true为真,false为假: ②String:空字符串为假,所有非空字符串为真: ③Number

刘强1109 JavaScript基础二(分支与循环结构)

[if-else结构] 1.结构的写法: 1 if(判断条件){ 2 条件为true时,执行if{} 3 } else{ 4 条件为false时,执行else{} 5 } 2.注意事项: ① else{}语句块,可以根据情况进行省略. ② if和else后面的{}可以省略,但是省略后,if和else后面只能跟一条语句,所以不建议省略{}. 3. if中的()中的判断条件,支持的情况:① Bolleam:true为真,false为假:② String:空字符串为假,所有非空字符串为真:③ Numb