如何使用php进行此练习? 编写一个程序,要求用户输入正数,或者通过键入小于1的数字来停止。打印平均值。使用do-while循环。
Enter Number : 3
Enter Number : 5
Enter Number : 11
Enter Number : 1
Enter Number : 0
Average : 5
Enter Number : 31
Enter Number : 4
Enter Number : 4
Enter Number : -12
Average : 13
我试着像这样完成它。
do {
echo 'Enter a number: ';
$number = trim(fgets(STDIN));
if($number < 1) {
break;
}
$sum += $number;
++$count;
} while(true);
$avg = $sum / max($count,1);
//}
echo("Average : ".$avg);
exit;
?>
答案 0 :(得分:0)
唯一需要的是将从标准输入接收的值转换为整数(来自stdin的所有内容都是字符串):
- $number = trim(fgets(STDIN));
+ $number = (int)trim(fgets(STDIN));
希望它有所帮助。
答案 1 :(得分:0)
您的代码对我来说很好,除了有一些未初始化的变量,例如$sum
和$count
。
这是一种替代方式。
PHP中有内置函数。
<?php
do {
echo 'Enter a number: ';
$number = trim(fgets(STDIN));
if ($number < 1 || !is_numeric($number)) {
break;
}
$numbers[] = $number;
} while (true);
$avg = array_sum($numbers) / count($numbers);
echo("Average : " . $avg);
exit;
答案 2 :(得分:0)
谢谢,我会试试。我在搜索交互式php学习网站时遇到了这个练习。在programmr网站上找到它......它是基于用户的网站,所以也许有人试图将这种练习从Java转移到php或类似的东西。