2-8 作业题,头都写炸了。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="#" method="post">
<input type="text" name="row" id="" placeholder="请输入要打印的行数"><br />
<input type="submit" value="金字塔" name="pyramid">
<input type="submit" value="空心菱形" name="diamond">
</form>
</body>
</html>
<?php
//隐藏undefined variable报错
error_reporting(E_ALL&~E_NOTICE);
//接收表单传以post形式发送的数据
$row=$_POST['row'];
$p=$_POST['pyramid'];
$d=$_POST['diamond'];
//金字塔
if($p){
//循环层数
for($i=1;$i<=$row;$i++){
//循环空格数 每行空格数=层数-循环层数
for($j=1;$j<=$row-$i;$j++){
//打印空的(*)倒三角型
echo "<span style='color:#FFF;'>*</span>";
}
//循环(*)个数 (*)个数=2*循环层数-1
for($k=1;$k<=2*$i-1;$k++){
//打印(*)三角型
echo '*';
}
echo '<br/>';
}
}
//空心菱形
if($d){
//上部分
//循环层数
for($i=1;$i<=$row;$i++){
//循环空格数
for($j=1;$j<=$row-$i;$j++){
echo "<span style='color:#FFF;'>*</span>";
}
//循环(*)个数
for($k=1;$k<=2*$i-1;$k++){
//设置条件 min和mix输出* 其它输出space
if($k==1||$k==2*$i-1){
echo '*';
}else{
echo "<span style='color:#FFF;'>*</span>";
}
}
echo '<br/>';
}
//下部分
//循环层数
for($i=1;$i<=$row;$i++){
//倒循环空格 每行空格数=循环层数
for($j=1;$j<=$i;$j++){
echo "<span style='color:#FFF;'>*</span>";
}
//倒循环(*)个数 (*)个数=2*(层数-循环层数)-1
for($k=1;$k<=2*($row-$i)-1;$k++){
//设置条件 min和mix输出* 其它输出space
if($k==1||$k==2*($row-$i)-1){
echo '*';
}else{
echo "<span style='color:#FFF;'>*</span>";
}
}
echo '<br/>';
}
}
?>
正在回答
你好,作业逻辑很正确加油,如果解决了您的问题请采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星