復習 - データの反復処理
CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 53/71。
チャレンジ
簡単3行の入力を読み取ります:
- 整数のカンマ区切りのリスト(例:
12,5,8,20,3,15,7) - 最小閾値
- 最大閾値
配列を処理して、範囲内(最小値と最大値を含む)のすべての数の合計を見つけます。範囲外の数をスキップするためにcontinueを使用します。また、最大閾値の正確に2倍の数に遭遇したら、breakを使用して即座に処理を停止します。
2行を出力します:
- 範囲内の有効な数の合計
- 合計に追加された数の個数
例1:
入力が5,12,8,20,15,3,10、5、15の場合、出力は次のようになります:
50
5(5 + 12 + 8 + 15 + 10 = 50、5つの数が範囲5-15内です)
例2:
入力が2,8,12,20,6,14、5、10の場合、出力は次のようになります:
8
1(20で処理が停止します。なぜならそれは最大値10の2倍だからです。それ以前に8のみが追加され、合計は8で個数は1です)
例3:
入力が1,2,3,4,5、10、20の場合、出力は次のようになります:
0
0(範囲10-20内に数値がありません)
自分で試してみよう
<?php
// 入力を読み取る
$numbers = explode(',', trim(fgets(STDIN)));
$min = intval(trim(fgets(STDIN)));
$max = intval(trim(fgets(STDIN)));
// 変数を初期化
$sum = 0;
$count = 0;
// TODO: ここにコードを書いてください
// numbers 配列をループする
// 範囲外の数字(min から max を含む)をスキップするために 'continue' を使用
// 最大値の正確に 2 倍の数字に遭遇したら 'break' を使用
// 有効な数字の合計と個数を追跡する
// 結果を出力
echo $sum . "\n";
echo $count;
?>基礎のすべてのレッスン
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators