结构化编程:不确定迭代循环控制do while
很多时候,我们需要重复的执行一些代码,这样我们就需要迭代循环控制。以下案例描述了如何控制重复的执行。
假设,你购买房子的首付需要30万人民币,你入职工作的第一年,每月工资是3500,以后每年薪水增长20%。你是一个很有计划的人,无论薪水多少,你都将收入的一半存起来。那么,你需要多少年可以存到你需要的首付呢?
static void Main(string[] args)
{
const double HOUSEFOUND = 200000; //购房的首付款20W,常数
double salary = 3500; //第一年的工资/月
double fund = 0; //住房基金
int years = 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语句。
static void Main(string[] args)
{
const double HOUSEFOUND = 200000; //购房的首付款20W,常数
double salary = 3500; //第一年的工资/月
double fund = 0; //住房基金
int years = 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循环通过{}控制语句的结束。
转载于:https://www.cnblogs.com/shyleoking/archive/2009/06/21/1507608.html
结构化编程:不确定迭代循环控制do while相关推荐
- c语言循环控制答案,C语言程序设计 实四 循环控制 答案 《西北民大 电气院》.doc...
C语言程序设计 实四 循环控制 答案 <西北民大 电气院> 实验四 循环控制(蓝色笔体内容可以不写在实验报告里,理解并掌握即可.)(实验课后的下一周的周三,请班长分别收好预习报告和实验报告 ...
- c语言第五章循环控制实验报告,C语言实验报告5《循环控制》.doc
C语言实验报告5<循环控制> 嘉应学院 计算机学院 实 验 报 告 课程名称C语言程序设计实验名称循环控制实验地点指导老师实验时间提交时间班 级姓 名座 号 一.实验目的和要求 (1)熟悉 ...
- for循环如果先--_乐字节Java循环:循环控制和嵌套循环
乐字节小乐上次讲完了Java反射,接下来小乐给大家讲述Java循环. 循环有以下四部分: Java循环 一.循环控制 1. do..while 直到型 ( 先执行后判断) ,结构为: 先执行循环体,后 ...
- Bailian2684 求阶乘的和【迭代+函数+循环】(POJ NOI0105-34)
问题链接:POJ NOI0105-34 求阶乘的和 2684:求阶乘的和 总时间限制: 1000ms 内存限制: 65536kB 描述 给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3! ...
- Python(二)之流程控制(顺序控制、条件控制、循环控制)
申明:资料来源于网络及书本,通过理解.实践.整理成学习笔记. 这里写目录标题 顺序控制 条件控制 if...语句 if...else...语句和if...elif...else...语句 循环控制 w ...
- 计算机科学中的递归算法是把问题,从计算思维的视角辨析算法中的递归与迭代...
周世杰 算法思维是计算思维的一个方面,而在计算机科学中,基于递归和迭代的思维方式在算法和程序设计中广泛应用,是算法思维的重要构成部分.因此,信息技术学科教师在基础课教学中辨析递归与迭代算法,将其作为发 ...
- c++冒泡排序如何计算迭代次数
冒泡排序是一种简单的排序算法,其基本思想是将数组中的数据进行两两比较,将小数据放在前面,大数据放在后面.每进行一轮比较,就会将最大的数据放到最后面.因此,冒泡排序需要进行多轮比较才能完成对整个数组的排 ...
- 四、Scala从入门到精通一一循环控制
目录 1. 程序的流程控制说明 2.顺序控制的说明 3.分支控制if-else 3.1.分支控制if-else介绍 3.2.单分支的使用 3.3.双分支的使用 3.4.单分支双分支练习题 3.5.单分 ...
- Java程序控制结构、顺序控制、循环控制及跳转控制语句
文章目录 1.程序控制结构 1.1.定义 1.2.分类 2.顺序控制 2.1.分支控制 if-else 2.1.1.单分支 2.1.2.双分支 2.1.3.多分支 2.1.4.嵌套分支 2.1.5.s ...
最新文章
- Angular 服务
- 技术图文:Python魔法方法之属性访问详解
- 线段树分裂与合并 ----- P2824 [HEOI2016/TJOI2016]排序 [线段树分裂合并 OR 01序列排序+二分线段树]
- iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge
- SpringBoot | 第十五章:基于Postman的RESTful接口测试
- Python 定时任务的实现方式
- k8s架构组件功能介绍
- spark源码分析之Executor启动与任务提交篇
- Jsp对字符串的处理
- linux命令(实用)
- 邀请函丨云和恩墨邀您一起迈向混合数据库时代!
- (十一)JAVA springboot ssm b2b2c多用户商城系统 - SSO单点登录之OAuth2.0登录流程(2)
- 惊艳CES!优必选Walker新一代迈出里程碑一步,仿人机器人进入家庭取得重大突破
- 一文了解DataStore(Preferences)
- LeetCode:在线编程刷题网站
- pyd文件逆向(二)
- Mixpanel使用注意点
- ES8 - async 和 await
- python读取宇视摄像头实时流,并用opencv做人脸检测
- iOS即时通讯进阶 - CocoaAsyncSocket源码解析(Connect篇)