ホームページ  >  記事  >  バックエンド開発  >  PHPで辺の長さがNの中実および中空のダイヤモンド形状を印刷する方法、solid_PHPチュートリアル

PHPで辺の長さがNの中実および中空のダイヤモンド形状を印刷する方法、solid_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:05:36942ブラウズ

phpで辺の長さNの立体と中空のひし形を印刷する方法,solid

この記事では、phpで辺の長さNの立体と中空のひし形を印刷する方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

ソリッドダイヤモンドの計算方法:
$n: 辺の長さ
$i: 0 から始まる現在の行
$rows: 行の総数

上部
前にあるスペースの数 =$n-$i-1
文字数=$i*2+1

下部
前にあるスペースの数 =$i-$n+1
文字数=($rows-$i)*2-1

str_pad を使用して for/while ループを削減します

コードをコピーします コードは次のとおりです:/**
*ソリッドダイヤモンド形状を印刷します
* @param int $n 辺の長さ、デフォルトは 5
* @param String $s 文字が表示されます、デフォルト*
* @return 文字列
​*/
関数solidDiamond($n=5, $s='*'){
$str = ''; // 総行数を計算します
$行 = $n*2-1; // 各行の * を計算するループ
for($i=0; $i If($i<$n){ // 上部
$str .= str_pad('', ($n-$i-1), ' ').str_pad('', $i*2+1, $s)."rn"; 。 $str .= str_pad('', ($i-$n+1), ' '). str_pad('', ($rows-$i)*2-1, $s);                                                                            }
$str を返します
}
エコー '

'; エコーソリッドダイヤモンド(5) <br> echo '';



コードをコピーします

コードは次のとおりです: *
***

*****

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

中空ダイヤモンドの計算方法:
$n: 辺の長さ
$i: 0 から始まる現在の行
$rows: 行の合計数

上部

前にあるスペースの数 =$n-$i-1

空きスペースの数 =$i*2+1-2
文字数 = $i*2+1 - 空白の数

下部

前にあるスペースの数 =$i-$n+1

空のスペースの数 = ($rows-$i)*2-1-2
文字数 = ($rows-$i)*2-1 - 空白の数

コードをコピーします


コードは次のとおりです:/**
* 中空ダイヤモンド形状を印刷します
* @param int $n 辺の長さ、デフォルトは 5
* @param String $s 文字が表示されます、デフォルト* * @return 文字列 ​*/ 関数hollowDiamond($n=5, $s='*'){ $str = ''; // 総行数を計算します
$行 = $n*2-1; // 各行の * を計算するループ
for($i=0; $i If($i<$n){ // 上部
$tmp = $i*2+1; $str .= str_pad('', ($n-$i-1), ' '). str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH)。 「ん」                                                                                                                                                                 $tmp = ($rows-$i)*2-1; $str .= str_pad('', ($i-$n+1), ' '). str_pad(str_pad('', $tmp-2, ' ', STR_PAD_BOTH), $tmp, $s, STR_PAD_BOTH)。 「ん」;
                                                                           }
$str を返します
}
エコー '

'; エコーホロウダイヤモンド(5); echo '';



コードをコピーします

コードは次のとおりです: *
* *
* * *
* * *
* * *
* * *
* * *
* *
*

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/963124.html技術記事 php で辺の長さが N である中実および中空のダイヤモンドを印刷する方法 この記事のソリッドの例では、php で辺の長さが N である中実および中空のダイヤモンドを印刷する方法について説明します。皆さんの参考に共有してください。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。