JavaScript-5(常见题目-2)

打印如下三角形

*
**
***
****

   *
  **
 ***
****

****
 ***
  **
   *


****
***
**
*


   *
  ***
 *****
*******

思路分析:(1)直角靠左的直角三角形比较容易理解,通过一个for循环嵌套另一个for循环即可实现,方法是当外部的for循环运行一次的时候,内部的for循环要运行n次(在此for循环中打印星号),然后在外部的for循环快结束时用打印</br>来换取下一行,这样就实现了,一次循环(一行)打印n个星号的目的。

(2)当打印直角靠右的直角三角形或等腰三角形时,思路比较复杂。可以通过一个for循环嵌套两个并列的for循环,其中被嵌套的第一个for循环负责打印空格,第二个for循环负责打印星号,如此,运行一次(一行)打印空格和星号,即可实现目的。

<script type="text/javascript">
 for (var i = 0; i < 4; i++) {
    for (var v = 0; v <=i ; v++) {
        document.write('*')
    }
    document.write("<br/>")
  }
 document.write("<br/>");
 document.write("<br/>");
 document.write("<br/>");
 
 for (var a = 1; a < 5;a ++){
 	for(var b= 1;b < (5-a); b ++ ){
 		document.write("&nbsp");
 	}
 	for (var c = 1;c <= a;c ++) {
 			document.write("*");
 			}
 	document.write("<br />");
 }
 document.write("<br/>");
 document.write("<br/>");
 document.write("<br/>");
  
  for (var a = 1; a < 5;a ++){
 	for(var b= 5;b > (6-a); b -- ){
 		document.write("&nbsp");
 	}
 	for (var c = 1;c <=(5-a);c ++) {
 			document.write("*");
 			}
 	document.write("<br />");
 }
 document.write("<br/>");
 document.write("<br/>");
 document.write("<br/>");
 
 for (var i = 0; i < 4; i++) {
    for (var v = 0; v < (4-i) ; v++) {
        document.write('*')
    }
    document.write("<br/>")
  }
 document.write("<br/>");
 document.write("<br/>");
 document.write("<br/>");
 
 
 for (var a = 1; a < 5;a ++){
 	for(var b= 1;b <(5-a); b ++ ){
 		document.write("&nbsp");
 	}
 	for (var c = 1;c <= (2*a-1);c ++) {
 			document.write("*");
 			}
 	document.write("<br />");
 }
 

 运行结果

原文地址:https://www.cnblogs.com/zhangrui0328/p/8776564.html