zoukankan      html  css  js  c++  java
  • for循环实现正等腰三角形

    等腰三角形

    /*
    		  层数i	  星星数   空格数     循环层i
            *           1	    1       8   
          * * *         2	    3       6
        * * * * *       3	    5       4
      * * * * * * *     4       7	    2
    * * * * * * * * *   5       9       0
    
    星星数: 2*i-1  
    空格数: 2*n+1-2*i-1 = 2(n-i)
    
    */
    $n = 5;
    for ($i=1; $i<=$n; $i++) {  //确定层数
    	for ($j=1; $j<=$n-$i; $j++) {    //每层输出空格数,因为左右都有空格,所以左右两边都是(n-i)即可
    		echo "  "; //我这里有两个空格
    	}
    	for ($j=1; $j<=2*$i-1; $j++) {   //每层的星星数
    		echo "* ";
    	}
    	echo "
    ";   //每层输出完后换行
    }
    
    如果出现三角形斜曲了,这个是字体的原因导致的。
    解决方案:可以每层多输出1个空格,星星后面也加一个空格。
    
    

    空心等腰三角形

    /*
            *                空格
          *   *               6
        *       *     	  4
      *           *   	  2
    * * * * * * * * *         0
    
    */
    for ($i=1; $i<=$n; $i++) {
    	
    	for ($j=1; $j<=$n-$i; $j++) {        //输出左侧空格
    		
    		echo "  ";
    	}
    	for ($j=1; $j<=2*$i-1; $j++) {       //输出星星
    		
    		if($j==1 || $j==2*$i-1 || $i==$n) {  //每行第一个和最后一个输出星星;最后一行也全部输出星星
    			
    			echo "* ";
    			
    		}else {
    	
    			echo "  ";   //中间的输空格
    			
    		}
    		
    	}
    	
    	echo "
    ";
    }
    
    

    页面显示效果可能是这样的:

    实际效果看着好像不是那么理想,但其实也是字体原因

    可以把输出的结果复制到编辑器里看 就会发现得到下方的等腰三角形:

    原文链接:https://www.cnblogs.com/xinxinmifan/p/php_made_triangle.html

  • 相关阅读:
    虚方法和抽象方法
    c#_实现FTP方法(一) FtpWebRequest
    sql server 分页
    5ucms进阶
    图片处理函数
    [转]C++11新特性:Lambda函数
    [STL]for_each详细用法[转]
    [算法]hash table 与 hash map 实现
    [算法]字典树
    [STL]vector的使用[转]
  • 原文地址:https://www.cnblogs.com/xinxinmifan/p/php_made_triangle.html
Copyright © 2011-2022 走看看