免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1533 | 回复: 0
打印 上一主题 下一主题

用php实现简单的打印图形 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-16 14:01 |只看该作者 |倒序浏览
[PHP]代码
  1. <html>
  2. <head>
  3. <title>打印不同图形</title>
  4. <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
  5. </head>
  6. <body  bgcolor="#C7EDCC">

  7. <?php
  8.     $row = @$_REQUEST['row'];//加@是为了消除一开始页面没有输入数据的notice提示
  9.     $col = @$_REQUEST['col'];
  10.     $shape = @$_REQUEST['shape'];
  11.      
  12.     function printShape($row,$col,$shape)
  13.     {
  14.         switch ($shape)
  15.         {
  16.             case 'a':
  17.             for ($i=1;$i<$row;$i++)
  18.             {
  19.                 for ($j=0;$j<$col;$j++)
  20.                     echo "*";
  21.                 echo "<br/>";
  22.             }
  23.             break;
  24.             
  25.             case 'b':
  26.             for ($i=1;$i<$row;$i++)
  27.             {
  28.                 for ($j=0;$j<$i;$j++)
  29.                     echo "*";
  30.                 echo "<br/>";
  31.             }
  32.             break;
  33.             
  34.             case 'c':
  35.             for ($i=1;$i<$row;$i++)
  36.             {
  37.                 for ($k=0;$k<$col-$i;$k++)
  38.                     echo "&nbsp";
  39.                 for ($j=0;$j<2*$i-1;$j++)  
  40.                     echo "*";
  41.                 // for ($k=0;$k<round(($col-$i)/2);$k++)
  42.                 // echo " ";
  43.                 echo "<br/>";
  44.             }
  45.             break;
  46.             
  47.             case 'd':
  48.             for ($i=1;$i<=$row;$i++)
  49.             {
  50.                 for ($k=0;$k<$col-$i;$k++)
  51.                     echo "&nbsp";
  52.                 if ($i==1 || $i==$row)//第一行和最后一行不用控制
  53.                 {
  54.                     for ($j=1;$j<=2*$i-1;$j++)
  55.                         echo "*";
  56.                     echo "<br/>";
  57.                 }
  58.                 else
  59.                 {
  60.                     for ($j=1;$j<=2*$i-1;$j++)
  61.                     {
  62.                         if ($j==1 || $j==2*$i-1 )
  63.                             echo "*";
  64.                         else
  65.                             echo "&nbsp";
  66.                     }
  67.                     echo "<br/>";                 
  68.                 }
  69.             }
  70.             break;
  71.             
  72.             default:
  73.             echo "您没有输入图形";
  74.             break;      
  75.         }

  76.     }
  77. ?>


  78. <form action="printShape.php" method="post">
  79. <span>请输入打印的行数:</span><br/><input type="text" name="row" value="<?php echo $row?>"/><br/>
  80. <span>请输入打印的列数:</span><br/><input type="text" name="col" value="<?php echo $col?>"/><br/>
  81. <span>请输入打印的图形(a -- 矩形  b -- 半三角 c -- 实心金字塔 d--空心金字塔 ):</span><br/>
  82. <select name="shape">
  83. <option value='a'>矩形</option>
  84. <option value='b'>半三角形</option>
  85. <option value='c'>实金字塔</option>
  86. <option value='d'>空心金字塔</option>
  87. </select>
  88. <input type="submit" value="提交打印"/>
  89. </form>

  90. <?php printShape($row,$col,$shape)?>

  91. </body>
  92. </html>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP