<?php
/*
*
*帮朋友做题,写了一个这个空心金字塔的代码。希望和大家交流一下,提出*宝贵建议.
*
*/
//第一种实现方法
$n=20;//定义总函数
for($i=1;$i<=$n;$i++)//行数循环
{
for($k=1;$k<=$n-$i;$k++)//循环打印出每行前面的空格
{
echo " ";
}
//判断并打印出第一行与最后一行的'*'
if(($i==1)||($i==$n))
{
for($j=1;$j<=2*$i-1;$j++)
{
echo '*';
}
echo'<br/>';
}else//循环打印出其他行的'*'与空格
{
echo '*';
for($k=1;$k<=2*$i-3;$k++)
{
echo ' ';
}
echo '*';
echo '</br>';
}
}
//第二种实现空心金字塔(个人感觉代码繁琐,唉。)
$n=20;//定义总函数
for($i=1;$i<=$n;$i++)//行数循环
{
for($k=1;$k<=$n-$i;$k++)//循环打印出每行前面的空格
{
echo ' ';
}
//循环打印出每一行前面空格后的'*'
if($i==1)//第一行
{
echo '*';
echo '</br>';
}else//其它行
{echo '*';}
if(($i>=2)&&($i<=$n-1))
{ //循环打印出第二行到第n-1行的样式
for($j=1;$j<=2*$i-3;$j++)
{
echo ' ';
}
echo '*';
echo '</br>';
}else if($i==$n)
{//循环打印出最后一行的样式
for($m=1;$m<=2*$i-2;$m++)//2*$i-2是因为前面多打印一个'*'
{
echo "*";
}
echo '</br>';
}
}
//第三种方法比较简单
$n = 10;
for ($i = 1; $i <= $n; $i++) {
for ($k = 1; $k <= $n - $i; $k++) {
echo " ";
}
for ($j = 1; $j < 2 * $i - 1; $j++) {
if (($i == 1) || ($i == $n)) {
echo '*';
} else {
if (($m == 1) || ($m == 2 * $i - 1)) {
echo '*';
} else {
echo " ";
}
}
}
echo '</br>';
}
?>
版权声明:本文为ckshcjhacmsabcbba原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。