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

  • 相关阅读:
    css设置页面内容不能被选中
    bootstrap栅格系统
    MVC框架
    类模板
    c++编译器模板机制剖析
    函数模板与函数重载
    函数模板当参数强化
    泛型编程—函数模板
    用友GRP-u8 注入-RCE漏洞复现
    漏洞代码调试(二):Strtus2-001代码分析调试
  • 原文地址:https://www.cnblogs.com/xinxinmifan/p/php_made_triangle.html
Copyright © 2011-2022 走看看