1

私は決勝戦に向けて勉強していて、この質問に出くわしました:

入力ボックスから正の整数 n を読み取り、1+2+-- n の値を計算する PHP スクリプトを作成します。

私は長い間試み、十分な調査を行ってきましたが、これまでのところこれを完了することができませんでした:

<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>

誰でも私を助けることができますか?前もって感謝します!

4

5 に答える 5

3
<?php
  $num   = (int)$_POST["num"];
  $total = 0;

  for ($i=0; $i <= $num; $i++) {
     $total = $total + $i;
  }

  echo $total;
?>

コードが数値を処理することを期待している場合(int)は、投稿された値を介して明示的にキャストすることをお勧めします

于 2012-04-18T10:40:07.470 に答える
2

あなたはparanthesisを混ぜました、あなたはまたと混ぜ=ます==。とにかく、そのような合計を計算するより速い方法があります、すなわちn * (n + 1) / 2

于 2012-04-18T10:43:31.183 に答える
0

まず、これif ($num==0)$num=="";は間違っています。$num="";それがどうあるべきかです。そして、いずれにせよ、これはあなたのステートメントを壊すでしょうif

for-loopを-statementに入れif、条件をに変更することをお勧めし$num>0ます。

$i0ではなく1から始めましょう。

于 2012-04-18T10:43:39.023 に答える
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>
于 2012-04-18T10:43:53.763 に答える
0
<?php
    $num=$_POST["num"];
    if ($num==0)$num="";
    else
    {
     for($i=0; $i<=$num; $i++){
       $sum=$sum+$i;
       }
    }
    echo $sum;
   ?>

より正確には、合計を計算する前に、まず送信ボタンが設定されているかどうかを確認する必要があります。

于 2012-04-18T10:41:26.900 に答える