2017-01-31 5 views
-1

forループを使用すると、次の整数の平均を求める単一のプログラムを作成します。同じプログラムでは、配列内の他のすべての数値の合計を求めます。PHPでforループを使用して配列に合計を加算するプログラムをプログラミングするには

$num = [1, 11, 21, 31, 41, 51, 61, 71, 81]; 

これは私が持っているコードです:

<?php 
     $sum1 = 0; 
     $sum2 = 0; 
     $num = array(1, 11, 21, 31, 41, 51, 61, 71, 81); 
     for ($k = 0, $i = 0; $i < 9; $i++, $k = $k + 2) { 
      $sum1 = $num{$k} + $sum1; 
      $sum2 = $num{$i} + $sum2; 
     } 
     echo "Sum is " . $sum2 . " "; 
     echo "Sum of offset is " . $sum1; 
     ?> 
+1

エラーまたは質問は何ですか?コードはうまくいくようです。 – Nitin

+3

この宿題はありますか? – ccKep

+1

@Nitin 'for'構文は正しくありません。彼はキーにアクセスすべきではありません。 ( '$ i'が' 8 'になると '$ k'は' 16'になり、 '$ num [16]'はありません)。 – ccKep

答えて

1

私は、これはあなただけの数で合計を分割する必要があります探しているものだと思います。

$num = [1, 11, 21, 31, 41, 51, 61, 71, 81]; 
$sum = 0; 
$sum2 = 0; 

for ($i=0; $i<count($num); $i++) { 
    // regular sum 
    $sum += $num[$i]; 
    // every other 
    if (($i % 2) != 0) { 
     // for index 0, 2, 4, ... use == instead of != 
     $sum2 += $num[$i]; 
    } 
} 
+0

それは動作しません。あなたのプログラム出力は "合計は369です。オフセットの合計は164です" –

+0

"合計は369です。オフセットの合計は205です" –

+0

「1つおきの番号」が第1または第2で始まるかどうかに依存します。 ( '1,21,41,61,81'または' 11,31,51,71') – ccKep

関連する問題