我正在学习决赛,我遇到了这个问题:
编写一个php脚本,从输入框中读取一个正整数n,并计算1 + 2 + - n的值......
我已经尝试了很长时间并做了充分的研究,但到目前为止我还没能完成这个:
<html>
<head>
<title>
</title>
</head>
<body>
<form action="inputnum.php" method="post" >
num:<input type="text" name="num" size ="5"/>
<input type = "submit" value = "Submit Order" />
<?php
$num=$_POST["num"];
if ($num==0)$num=="";
for($i=0; $i<=$num; $i++){
}
echo"($num+$i)";
?>
</form>
任何人都可以帮助我吗? 提前谢谢!
答案 0 :(得分:3)
<?php
$num = (int)$_POST["num"];
$total = 0;
for ($i=0; $i <= $num; $i++) {
$total = $total + $i;
}
echo $total;
?>
如果您的代码希望处理数字,最好通过发布值的(int)
进行显式转换
答案 1 :(得分:2)
你混淆了paranthesis,你还混合了=
和==
。无论如何,存在一种更快的计算这种总和的方法,即n * (n + 1) / 2
答案 2 :(得分:0)
<?php
$num=$_POST["num"];
if ($num==0)$num="";
else
{
for($i=0; $i<=$num; $i++){
$sum=$sum+$i;
}
}
echo $sum;
?>
更准确地说,在计算总和之前,必须先检查是否设置了提交按钮。
答案 3 :(得分:0)
首先,这个if ($num==0)$num=="";
是错误的。 $num="";
应该是它。无论如何,这会打破你的if
- 声明。
我建议将for
- 循环放在if
- 语句中,并将条件更改为$num>0
。
让$i
从1开始,而不是0。
答案 4 :(得分:0)
你可以使用这样的东西(没有经过测试,这里没有PHP解释器):
<html>
<head>
<title></title>
</head>
<body>
<?php
$num = (int)$_POST['num'];
if(!$num) {
?>
<form action="inputnum.php" method="post" >
num: <input type="text" name="num" size ="5"/>
<input type = "submit" value = "Submit Order" />
</form>
<?php
} else {
$total = 0;
for($i=1; $i<=$num; $i++){
$total = $total + $i;
}
echo $num;
}
?>
</body>
</html>