• for循环运用,三角形


    用for循环打出三角形、倒三角形、金字塔、99乘法表

    三角形:

    打出如图三角形,分析行数与*个数的关系,用for循环 

    for(var i=0;i<5;++i){//i表示行数
        var str="";//定义str 输出为空
        for(var j=0;j<i*2+1;++j){//j表示输出*数,行数与*个数的关系2*i+1
            str=str+"*"    ;//拼接字符串
        }
        console.log(str);
    }

    当i=0时,输出空,==>  j=0,j<1  ==>输出str,

    i=1时,输出空,==>  j=0,j<3  ==>输出str ; j=1,j<3  ==>输出str ; j=2,j<3  ==>输出str,

    倒三角形

    分析行数与*个数的关系:9-i*2

    for(var i=0;i<5;++i){//i表示行数
        var str="";//定义str 输出为空
        for(var j=0;j<9-i*2;++j){//j表示输出*数
            str=str+"*"    ;//拼接字符串
        }
        console.log(str);
    }

    金字塔:  

    可看做两个for循环,前面用空格表示

    for(var i=0;i<5;++i){//i表示行数
        var str="";//定义str 输出为空
        for(var k=0;k<4-i;++k){
            str=str+" ";//输出空格
        }
        for(var j=0;j<i*2+1;++j){//j表示输出*数,行数与*个数的关系2*i+1
            str=str+"*"    ;//拼接字符串
        }
        console.log(str);
    }

    例:输出 9*9 口诀。

    var str = "";
    for (var i = 0; i < 10; ++i) {
        str = "";
        for (var j = 1; j <= i; ++j) {//每行输出数
            str += j + '*' + i +'='+i*j+ ' ';
        }
        console.log(str);
    }

    数组练习:

    数组遍历,取最大值、最小值

    //题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
    var arr1 = prompt("输入数组,以,分隔");
    var arr1 = arr1.split(','); //以逗号区分,建立数组
    console.log(arr1);
    var arr = arr1.map(Number); //将数组变为数字数组
    var max = arr[0];//定义第一个数为最大数
    var min = arr[0];//定义第一个数为最小值
    for (var i = 0; i <= arr.length; ++i) {
        if (max < arr[i]) {
            max = arr[i];//循环比较找最大值
            var a = i;
        }
    }
    for (var i = 0; i <= arr.length; ++i) {
        if (min > arr[i]) {
            min = arr[i];//循环比较找最小值
            var b = i;
        }
    }
    
    arr[a] = arr[0];//将第一个数赋值给最大值位置
    arr[0] = max;//将最大值赋值给第一个数位置
    
    arr[b] = arr[arr.length - 1];//将最后一个数赋值给最小值位置
    arr[arr.length - 1] = min;//将最小值赋值在最后一个数位置
    console.log(arr);
  • 相关阅读:
    【BZOJ-4031】小z的房间 Matrix-Tree定理 + 高斯消元解行列式
    无题
    【BZOJ-4261】建设游乐场 最大费用最大流
    【BZOJ-2888】资源运输 LCT + 启发式合并
    【Codeforces666E】Forensic Examination 后缀自动机 + 线段树合并
    【BZOJ-2142】礼物 拓展Lucas定理
    【BZOJ-3672】购票 树分治 + 斜率优化DP
    【BZOJ-3218】a+b Problem 最小割 + 可持久化线段树
    【BZOJ-1913】signaling信号覆盖 极角排序 + 组合
    【BZOJ-4408】神秘数 可持久化线段树
  • 原文地址:https://www.cnblogs.com/dk2557/p/9197966.html
Copyright © 2020-2023  润新知