老师我菱形下半部分为什么会是这样
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-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="num" id=""placeholder="请输入要打印的行数"><br>
<input type="submit" name="jin" value="金字塔">
<input type="submit" value="空心菱形" name="lin">
</form>
</body>
</html>
<?php
//除去错误
error_reporting(E_ALL&~E_NOTICE);
//接收金字塔空心菱形数据
$jin=$_POST['jin'];
$l=$_POST['lin'];
//判断用户点了金字塔按钮 先判断是否是传值,再进行赋值。
if ($jin){
//接收数据
$num=$_POST['num'];
//输入负数时提示消息
if ($num>=1){
for ($i=1;$i<=$num;++$i){ //设定空格次数
echo '<br>';
// 使用接收到的数量减第一次循环的数 第一次接收到的是1 如果输入3就是3-1 2个++空格
for ($k=1;$k<=$num-$i;++$k){
// 浏览器中存在兼容性问题,对 的输出存在一定差异性建议使用html代码
echo "<span style='color:#FFF'>*</span>";
}
//设定*号 三角形星星的个数=2*层数-1
for ($x=1;$x<=$i*2-1;$x++){
echo '*';
}
}
}else{
exit('层数请输入证正数');
}
}
//
//判断用户点了空心菱形 先判断是否是传值,再进行赋值。
if ($l){
//接收数据
$num=$_POST['num'];
//菱形上半部分
for ($li=1;$li<=$num;$li++){ //设定空格次数
echo '<br>';
// 使用接收到的数量减第一次循环的数
for ($lk=1;$lk<=$num-$li;$lk++){
// 浏览器中存在兼容性问题,对 的输出存在一定差异性建议使用html代码
echo "<span style='color: #fff;'>*</span>";
}
for ($lx=1;$lx<=$li*2-1;$lx++){
//设置中间空白部分 取循环第一个=1 和最后一个
if ($lx==1 || $lx==$li*2-1){
echo '*';
}else {
echo "<span style='color:#fff;'>*</span>";
}
}
}
//菱形下班部分
for ($i=$num;$i>=1;$i--){
echo '<br>';
for ($k=1;$k<=$num-$i;$k++){
echo "<span style='color:#FFF'>*</span>";
}
for ($c=1;$c<=$i*2-1;$c++){
if ($c==$i*2-1||$c==1){
echo '*';
}else{
echo "<span style='color:#fff'></span>";
}
//
}
}
}
6
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕查理
2019-10-07 10:29:16
您好,菱形下半部分中输出白色*时,缺少了*。另外下半部分菱形比上半部分菱形少一层。修改如下:
//菱形下班部分
for ($i=$num-1;$i>=1;$i--){
echo '<br>';
for ($k=1;$k<=$num-$i;$k++){
echo "<span style='color:#FFF'>*</span>";
}
for ($c=1;$c<=$i*2-1;$c++){
if ($c==$i*2-1||$c==1){
echo '*';
}else{
echo "<span style='color:#fff'>*</span>";
}
//
}
}祝学习愉快!
PHP小白零基础入门
- 参与学习 人
- 提交作业 626 份
- 解答问题 4928 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星