php 这个小题目怎么做?

说明可以用那些方法://第一题:假设某人有1000元,每过一个路口须缴费一次,缴费规则为当他的现金大于500元//时每次缴纳5%,如果小于等于500元时每次缴纳50元,请... 说明可以用那些方法:
//第一题:假设某人有1000元,每过一个路口须缴费一次,缴费规则为当他的现金大于500元
//时每次缴纳5%,如果小于等于500元时每次缴纳50元,请问可以过几个路口!

能用下面这个结构写吗?谢谢
for($rmb = 1000, $cross = 1; $rmb > 500; $cross++) {
if($rmb <= 500) {
$rmb -=50;
} else {
$rmb *= 0.95;
}
}
展开
 我来答 举报
851468308qq
推荐于2016-02-10 · 超过100用户采纳过TA的回答
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:137万
展开全部

可以,你的思路是正确的,但是有2个问题,

  1. 判断条件有问题,因为你这里for语句有对$rmb进行处理,但当$rmb > 500时才会进入你的for循环处理中,故当$rmb小于500以后就不会做处理,应该改为$rmb >= 50,才符合你的情况;

  2. 另外你的$cross应该从0开始计数,否则的话,当还没有开始过路口的话,你就已经当成过了1个路口了。最后注意要利用最后的一个$cross

下面是我自己写的一个:

$rmb = 1000;

$cross = 0;

while ($rmb >= 50)

{

if ($rmb > 500)

{

$rmb = $rmb * (1- 0.05);

$cross++;

}

else if ($rmb <= 500)

{

$rmb -= 50;

$cross++;

}

}


echo $cross;

本回答被提问者采纳
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式