2016-11-02 39 views
1

創建一個while循環,從數字761中減去6.82,直到 數字介於(不等於)23和33之間。回答最終結果asa float,舍入爲2位小數。我的while循環php有什麼問題

$f=761; 
$b=6.82; 
while (($f > 33)||($f < 23)) { 
$f=$f-$b; 
$f++; 

} 
$ANSWER = round($f, PHP_ROUND_HALF_DOWN); 

我得到錯誤的答案,而不是27.68 31.26的書上

回答

1

我檢查了你的循環,並且在最後$f等於33.5之前因爲$f++;所以它會再次循環。它是這樣的:

f = 50.96 
f = 45.14 
f = 39.32 
f = 33.5 // still higher than 33 so do it once more 
f = 27.68 // and now is lower, get out 

看起來好像$f++在這裏沒有必要。

您可以檢查這兩個代碼:

PHP Compiler

1

我認爲你不需要$f++

+1

你是正確的,但它仍然是一個謎的目的是什麼這段代碼。 你可以檢查出結果沒有'$ f ++'[這裏](http://sandbox.onlinephpfunctions.com/code/e959d4e575094c2e03eca1b613e7a1dac61c7660) – Mihailo

+1

我同意。即使是第二個條件'($ f <23)'也是不必要的。 –

0

你不需要這樣的:

$f++ 

刪除它