老师问一下 倒三角形空格的思路是什么 我这个只能是正三角形
来源:2-13 作业题
昵称加载中__
2019-10-06 16:42:46
<!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
//接收数据
$jin=$_POST['jin'];
//判断用户点了金字塔按钮
if ($jin){
$num=$_POST['num'];
for ($i=1;$i<=$num;$i++){ //设定空格次数
echo '<br>';
for ($k=1;$k<=$i;$k++){
echo '  ';
}
for ($x=1;$x<=$i*2-1;$x++){
echo '*';
}
}
}
?>1回答
好帮手慕小尤
2019-10-06
同学你好,1. 运行代码报错,未定义的变量。
错误原因:在第一运行时,还没有数据传递就进行赋值导致的错误。
解决方法:可以先判断是否是post传值,如何再赋值。
2. 并未实现正三角形哦!如图所示:

解决方法:建议同学修改循环,代码如下:
<?php
//接收数据
if ($_POST){
//判断用户点了金字塔按钮
if (isset($_POST['jin'])){
$num=$_POST['num'];
for ($i=1;$i<=$num;$i++){ //设定空格次数
echo '<br>';
// 使用接收到的数量减第一次循环的数
for ($k=1;$k<=$num-$i;$k++){
// 浏览器中存在兼容性问题,对 的输出存在一定差异性建议使用html代码
echo "<span style='color:#FFF'>*</span>";
}
for ($x=1;$x<=$i*2-1;$x++){
echo '*';
}
}
}
}
?>3. 倒三角可根据数量进行循环,代码如下:
for($i=$num;$i>=1;$i--) {
echo "<br/>";
/*****$b代表空格数目******/
for($b=1;$b<=$num-$i;$b++) {
//控制输出的空格数
echo "<span style='color:#fff;'>*</span>";
}
/*****$c代表星号数目******/
for($c=1;$c<=2*$i-1;$c++) {
echo '*';
}
}祝学习愉快!
相似问题