1. 程式人生 > >for循環運用,三角形

for循環運用,三角形

數組遍歷 環比 空格 最小 for循環 bsp 區分 pre 輸入

用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);

for循環運用,三角形