用PHP輸出對稱菱形的簡易辦法

2021-07-05 01:46:11 字數 1561 閱讀 1598

比如輸出乙個簡單的菱形或者叫星星塔,首先是最外層控制行號,然後是內層的迴圈,內層的迴圈有兩個第乙個迴圈控制,然後第二個迴圈來控制星星的數量,控制空格的是總共有的行數減去當前的行數for($space=1; $space<=$lines-$line; ++$space) 然後是星星的迴圈是for($star=1; $star<=2*$line-1; ++$star)

下面的**是最簡單的輸出菱形的一部分

//$line 表示行號

//$space = $lines-$line;//每行的前導空格

//$star = 2*$line - 1;//m每行的星星數量

//外層迴圈控制行號

for($line=1; $line<=$lines; ++$line)

//再輸出星星,控制星星的數量

for($star=1; $star<=2*$line-1; ++$star)

//輸出換行

echo "

";}

涉及到對稱的圖形就大多涉及到數軸比如輸出入讀所示的零星  +用空格來代替

首先一般的方法就是先做乙個++的迴圈輸出上半層,然後再做乙個--的迴圈輸出下半層

比如是這樣

$lines=12;

for ($line=1; $line <=$lines ; $line++)

for ($i=0; $i < 2*$line-1; $i++) else;

} echo "";}

$lines=12;

for ($line=$lines-1; $line >=1 ; $line--)

for ($i=0; $i < 2*$line-1; $i++) else;

} echo "

";}

然後還有就是一種比較巧的方法 利用數軸

//12 345432 1

//-4-3 -2-10123 4(數軸)

//432101 234(絕對值)

想到達到 1 2 3 4 5 4 3 2 1的效果

先把-4-3 -2-10123 4用絕對值函式轉換一下

然後就是43 210123 4

對應的第乙個相加的話就都是等於同乙個書  比如說這個  就都等於5

相應的偽**

for($i=-4; $i<=4; ++$i)

按照這個思路的話,首先最外層的迴圈控制的是數軸,也就是說從負數到正數的走一遍for($i=-($lines-1); $i<=$lines-1; ++$i)

然後裡面的用總的行數減去上面數軸的絕對值$line = $lines - abs($i);

然後下面的額**不變就行了

for($i=-($lines-1); $i<=$lines-1; ++$i) 

//再輸出星星,控制星星的數量

for($star=1; $star<=2*$line-1; ++$star) else

} //輸出換行

echo "

";}

C語言 用「 」輸出乙個菱形

如何輸出如圖所示的菱形 先要將菱形分為上下兩個三角形 例如圖示,上為7行的正三角,下為6行的倒三角 接下來通過兩個迴圈分別輸出這兩部分。首先設定變數line代表上行數,通過鍵盤輸入,接著設定三個變數 i,j,k i 控制迴圈次數,j 控制空格數,k 控制 的個數 在上三角中,迴圈line次,行數 i...

在螢幕上輸出菱形,用 表示(3種)

define crt secure no warnings 1 include include include include sleep 的標頭檔案 方法2 任意行數 將菱形圖案一分為二,依次列印上面的內容和下面的內容 define crt secure no warnings 1 include...

個人練習2 菱形 的輸出。

1.根據輸入的行數,用輸出乙個菱形圖案。題目最主要的就是分析j的第幾位輸入什麼,並找出j與i之間的關係。以總行數為5為例,下列分別是i,空格之間的數量對應關係。i 0 1 2 1 3 1 2 5 0 include include intmain for j 0 jabs n 2 i j print...