首页 > 代码库 > 打印菱形

打印菱形

运行phpStudy.exe,窗口弹出后,点击启动按钮,即可开始编程,如下图:
技术分享
 
 
注意php文件名不可以有中文字符,否则运行出错,错误提示如下:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required ‘D:/phpStudy/WWW/褰㈢姸鎵撳嵃.php‘ (include_path=‘.;C:\php\pear‘) in Unknown on line 0

如下图:
技术分享
 
源代码如下:
<!DOCTYPE html>
<html>
<head>
    <title>形状打印</title>
    <meta http-equiv = "content-type" content="text/html; charset = utf-8 ">
</head>
<body>
    <?php
        $a=10;$b=10;//a,长。b,宽。
        for ($y=0; $y <= $b; $y++) { //向下扫描
            for ($x=0; $x <= $a; $x++) { //向右扫描
                if ( $b/2-($b/$a)*$x <= $y && 
                     ($b/$a)*$x-$b/2 <= $y && 
                     ($b/$a)*$x+$b/2 >= $y && 
                     3/2*$b-($b/$a)*$x >= $y) {
                    echo "*";
                    //建立直角坐标系,当当前扫描点(x,y)在四条菱形边上或内部时,打印*号
                }
                else echo "&nbsp;";
                //注意:浏览器会过滤过滤多余的空格。打印空格请用左示方法
            }
            echo "</br>";//换行
        }
    ?>
</body>
</html>
运行结果如下:
技术分享
 运行成功!
 
若将第12行开始的判断语句的条件替换成如下代码将得到空心菱形:
$b/2-($b/$a)*$x == $y || 
($b/$a)*$x-$b/2 == $y || 
($b/$a)*$x+$b/2 == $y || 
3/2*$b-($b/$a)*$x == $y

运行结果如下:

技术分享

 运行成功!

打印菱形