zoukankan      html  css  js  c++  java
  • JS 部分常见循环、分支、嵌套练习

    图形题思路:
    1、确定图形一共几行,即为外层的循环次数
    2、确定每行有几种元素,代表有几个内层循环
    3、确定每种元素的个数,即为每个内层循环的次数

       通常,找出每种元素个数,与行号的关系式,即为当前内层循环的最大值(从1开始循环)

     利用循环嵌套实现以下图形:

    【长方形】       【直角三角形】        【平行四边形】       【菱形】
      ****             *                  *****               *
      ****             **                  *****             ***
      ****             ***                  *****           *****
      ****             ****                  *****           ***
      ****             *****                  *****           *
            
    长方形:
           for
    (i=1;i<=5;i++) { for (j=1;j<=4;j++) { document.write("*"); } document.write("<br />"); } document.write("长方形"+"<br />");
    三角形:
    for (i=1;i<=5;i++) { for (j=1;j<=i;j++) { document.write("*"); } document.write("<br />"); } document.write("三角形"+"<br />");
    平行四边形:
    for (i=1;i<=5;i++) { for (n=1;n<=i;n++) { document.write("&nbsp;"); } for (j=1;j<=5;j++) { document.write("*"); } document.write("<br />"); } document.write("平行四边形"+"<br />");
    菱形:
           for (var i=1;i<=4;i++) {
                    //空格
                    for(var k=1;k<=4-i;k++){
                        document.write("<span style='display: inline-block; 7px;'></span>");
                    }
                    //*
                    for(var j=1;j<=2*i-1;j++){
                        document.write("*");
                    }
                    document.write("<br/>");
                }
                for (var i=1;i<=3;i++) {
                    //空格
                    for(var k=1;k<=i;k++){
                        document.write("<span style='display: inline-block; 7px;'></span>");
                    }
                    //*
                    for(var j=1;j<=7-2*i;j++){
                        document.write("*");
                    }
                    document.write("<br/>");
                }

     

    数字等边三角形
    
            for(var i=1;i<=4;i++){
                    // 空格
                    for(var k=1;k<=4-i;k++){
                        document.write("<span style='display: inline-block; 8px;'></span>");
                    }
                    var n = 1;
                    // 递增
                    for(var j=1;j<=i;j++){
                        document.write(n);
                        n++;
                    }
                    n-=2;
                    // 递减
                    for(var m=1;m<=i-1;m++){
                        document.write(n);
                        n--;
                    }
                    // 回车
                    document.write("<br/>");
                }
    九九乘法表
    
           document.write("<table width='700'>")
                for(var i=1;i<=9;i++){
                    document.write("<tr>")
                    for(var j=1;j<=i;j++){
                        document.write("<td>"+i+"*"+j+"="+i*j+"</td>");
                    }
                    document.write("</tr>")
                }
                document.write("</table>")
                
                document.write("<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />");
                

    结果样式:

     输入一个数字判断是否是正整数,并将数字反向输出:

    var num;
                while (true){
                    num=prompt("");
    //                Number(num)>0  肯定为正数
    //                parseInt(num)==parseFloat(num)  肯定不是小数
                    if (Number(num)>0&&parseInt(num)==parseFloat(num)) {
                        break;
                    }
                }
                while (num>0){
                    var a = parseInt(num%10);
                    document.write(a);
                    num=parseInt(num/10);
                }
                

    判断是否为一个数字:Number(num)不为NaN,说明为数字
    判断一个数字为正数:Number(num)>0
    判断一个数字为整数:parseInt(num)==parseFloat(num)

    判断闰年:

    var year=prompt("输入年份");
    document.write(year%4==0&&year%100!=0||year%400==0?"是闰年":"不是闰年");*/

    输入某年某月某日,判断这一天是这一年的第几天?

    方法一:
          var year = parseInt(prompt("请输入年份"));
          var month = parseInt(prompt("请输入月份"));
          var day = parseInt(prompt("请输入日期"));
                
             /*假设都是平年,2月28天*/
          var sum=0;
             /*方法一*/
              for(var i=1;i<month;i++){
                  if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
                        sum+=31;
                  }else if(i==4||i==6||i==9||i==11){
                        sum+=30;
                  }else if(i==2){
                        sum+=28;
                  }
               }
         if((year%4==0&&year%100!=0||year%400==0)&&month>2){
               sum+=(day+1);
         }else{
               sum+=day;
         }
                document.write("您输入的"+year+"-"+month+"-"+day+"为该年的第"+sum+"天");
                
    方法二:
        var
    year = parseInt(prompt("请输入年份")); var month = parseInt(prompt("请输入月份")); var day = parseInt(prompt("请输入日期")); /*假设都是平年,2月28天*/ var sum=0;     switch (month-1){ case 11: //每个case后没有break,可以实现天数的累加 sum+=30; case 10: sum+=31; case 9: sum+=30; case 8: sum+=31; case 7: sum+=31; case 6: sum+=30; case 5: sum+=31; case 4: sum+=30; case 3: sum+=31; case 2: sum+=28; case 1: sum+=31; case 0: sum+=0; } if((year%4==0&&year%100!=0||year%400==0)&&month>2){ sum+=(day+1); }else{ sum+=day; } document.write("您输入的"+year+"-"+month+"-"+day+"为该年的第"+sum+"天");
  • 相关阅读:
    模块
    迭代器,生成器
    内置函数
    匿名函数,三元表达式,列表推导式,字典生成式
    递归
    闭包函数,装饰器
    名称空间与作用域
    《数据结构与算法之6 扑克牌洗牌算法》
    《java学习笔记》
    Building Machine Learning Systems with Python 2
  • 原文地址:https://www.cnblogs.com/greedymonkey/p/6672625.html
Copyright © 2011-2022 走看看