Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>金字塔-菱形-空心</title>
    <script>
        var n=window.prompt("請輸入行數");
        /* 右半邊    星號
* 1 ** 2 *** 3 **** 4 第i行,空格無,星號i
*/ document.write("正右半邊<br>"); for(i=1;i<=n;i++){//行數 for(j=1;j<=i;j++){ document.write("*");//打印每行星號 } document.write("<br />"); } /* 左半邊 空格 星號
* 4-1 1 ** 4-2 2 *** 4-3 3 **** 4-4 4 第i行,空格n-i,星號i
*/ document.write("正左半邊<br>"); for (i=1; i <= n; i++) { for(j=1;j<=n-i;j++){ document.write("&nbsp;");//打印每行空格 } for(k=1;k<=i;k++){ document.write("*");//打印每行星號 } document.write("<br/>"); } /*金字塔 空格 星號 * 3=4-1 1=2*1-1 *** 2=4-2 3=2*2-1 ***** 1=4-1 5=2*3-1 ******* 0=4-4 7=2*4-1 第i行,空格n-i,星號2*i-1 */ document.write("正金字塔<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ document.write("*") } document.write("<br/>") } /*倒右邊 星號 **** 4 *** 3 ** 2 * 1 第i行,空格n-i,星號n-i+1 */ document.write("倒右半邊<br/>"); for (var i = 1; i<=n; i++) { for(j=1;j<=n-i+1;j++){ document.write("*"); } document.write("<br/>"); } /*倒左半邊 空格 星號
**** 0=4-4=1-1 4=4-1+1 *** 1=4-3=2-1 3=4-2+1 ** 2=4-2=3-1 2=4-3+1 * 3=4-1=4-1 1=4-4+1 第i行,空格i-1;星號n-i+1
*/ document.write("倒左半邊<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=i-1;j++){ document.write("&nbsp;");//打印每行空格 } for(k=1;k<=n-i+1;k++){ document.write("*");//打印每行星號 } document.write("<br/>"); } /*倒金字塔 空格 星號
******* 0=4-4=1-1 7=2*4-1 ***** 1=4-3=2-1 5=2*3-1 *** 2=4-2=3-1 3=2*2-1 * 3=4-1=4-1 1=2*1-1 第i行,空格i-1;星號2*(n-i+1)-1
*/ document.write("倒金字塔<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=i-1;j++){ document.write("&nbsp;"); } for(k=1;k<=2*(n-i+1)-1;k++){ document.write("*"); } document.write("<br/>"); } /*菱形 * *** ***** ******* ***** *** * 思路:先打印上半部分,再打印下半部分*/ document.write("菱形<br/>"); //打印菱形上半部分 for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ document.write("*"); } document.write("<br/>"); } //打印菱形下半部分 for(i=1;i<=n;i++){ for(j=1;j<=i;j++){//要去掉下半部分的最上一行,第二行變為第一行,每行最前面的空格加一個,所以j<=i,而不是j<=j-1; document.write("&nbsp;"); } for(k=1;k<=2*(n-i)-1;k++){//第一行為原來第二行,星號個數也隨之變化; document.write("*"); } document.write("<br/>"); } /*空心正三角形 * * * * * ******* 思路:邊上的打印星號,其他的打印空格,最后一行打印星號 */ document.write("空心正三角形<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ if(i==n){//最后一行星號全打印出來 document.write("*") } else if(k==1||k==2*i-1){//打印兩邊上的星號 document.write("*") } else{ document.write("&nbsp;");//打印空心 } } document.write("<br/>"); } /*空心倒三角形 ******* * * * * * 思路:邊上的打印星號,其他的打印空格,第一行打印星號 */ document.write("空心倒三角形<br/>"); for(i=1;i<=n;i++){ for(j=1;j<=i-1;j++){ document.write("&nbsp;"); } for(k=1;k<=2*(n-i)+1;k++){ if (i==1) {//打印第一行星號 document.write("*"); }else if(k==1||k==2*(n-i)+1){//打印兩邊上的星號 document.write("*"); }else{ document.write("&nbsp;");//打印空心 } } document.write("<br/>"); } /*空心菱形 * * * * * * * * 思路:和打印菱形一樣,先打印上半部分,再打印下半部分 */ document.write("空心菱形<br/>"); //上半部分 for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ document.write("&nbsp;"); } for(k=1;k<=2*i-1;k++){ if (k==1||k==2*i-1) { document.write("*");//打印邊上星號 }else{ document.write("&nbsp;")//打印空心空格 } } document.write("<br/>"); } // 下半部分 for(i=1;i<=n;i++){ for(j=1;j<=i;j++){//每行最前面的空格 document.write("&nbsp;"); } for(k=1;k<=2*(n-i)-1;k++){ if (k==1||k==2*(n-i)-1) { document.write("*"); }else{ document.write("&nbsp;"); } } document.write("<br/>"); } </script> </head> <body> </body> </html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM