结构化编程:不确定迭代循环控制do while

本文通过一个具体的案例模拟了购买房屋首付所需存款的过程。假设每月工资为3500元,每年工资增长20%,并将一半的收入储蓄起来,计算达到20万元首付所需的年限。

很多时候,我们需要重复的执行一些代码,这样我们就需要迭代循环控制。以下案例描述了如何控制重复的执行。

假设,你购买房子的首付需要30万人民币,你入职工作的第一年,每月工资是3500,以后每年薪水增长20%。你是一个很有计划的人,无论薪水多少,你都将收入的一半存起来。那么,你需要多少年可以存到你需要的首付呢?

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->staticvoidMain(string[]args)
{

constdoubleHOUSEFOUND=200000;//购房的首付款20W,常数
doublesalary=3500;//第一年的工资/月
doublefund=0;//住房基金
intyears=1;//年计数器
while(fund<HOUSEFOUND)//存的基金不够首付,就继续存
{
fund
+=salary*0.5*12;//工资的50%是交纳住房基金
years++;//加一年
salary=salary*1.2;//每年工资增加20%
}
System.Console.WriteLine(
"哎,钱攒{0}年了",years);
Console.WriteLine(
"终于攒到了{0},命苦啊",fund.ToString("f0"));
}

while语句,每次开始执行循环前需要进行判断,如果首次条件不满足,就不会进行循环执行。如果你至少要执行一次循环体中的代码,那就需要使用do语句。

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->staticvoidMain(string[]args)
{

constdoubleHOUSEFOUND=200000;//购房的首付款20W,常数
doublesalary=3500;//第一年的工资/月
doublefund=0;//住房基金
intyears=1;//年计数器
do
{
fund
+=salary*0.5*12;//工资的50%是交纳住房基金
years++;//加一年
salary=salary*1.2;//每年工资增加20%
}
while(fund<HOUSEFOUND);
System.Console.WriteLine(
"哎,钱攒{0}年了",years);//存的基金不够首付,就继续存
Console.WriteLine("终于攒到了{0},命苦啊",fund.ToString("f0"));
}

使用do语句,控制的途径将至少进入循环体内一次。

初学者注意:

在do循环中,一定要有机制确保循环终止,否则会出现死循环。do和while循环在语法上有一个差异值得重视,即do循环中while关键字之后需要使用;结束。而while循环通过{}控制语句的结束。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值