zoukankan      html  css  js  c++  java
  • 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);

          

  • 相关阅读:
    ********《数据结构与面向对象程序设计》实验八报告
    ******** 2019-2020-1 《数据结构与面向对象程序设计》第八周学习总结
    20182323 2018-2019-1《程序设计与数据结构》课程总结
    20182323 2019-2020-1 《数据结构与面向对象程序设计》实验九报告
    20182323 2019-2020-1 《数据结构与面向对象程序设计》第10周学习总结
    20182323 哈夫曼编码测试
    20182323 2019-2020-1 《数据结构与面向对象程序设计》第9周学习总结
    20182323 2019-2020-1 《数据结构与面向对象程序设计》实验八报告
    20182323 2019-2020-1 《数据结构与面向对象程序设计》实验七报告
    哈夫曼树讲解
  • 原文地址:https://www.cnblogs.com/wq1994/p/7436001.html
Copyright © 2011-2022 走看看