欢迎来到天天文库
浏览记录
ID:46587170
大小:538.85 KB
页数:36页
时间:2019-11-25
《第4章+循环结构(C++版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四章循环结构第一节for语句第二节while语句第三节do-while语句第四节循环嵌套第一节for语句一、语句格式说明:语句1是for循环语句的循环体,它将在满足条件的情况下被重复执行。说明:循环体部分由多个语句构成,应由一对花括号括起来,构成一个语句块的形式程序风格提示:写for循环语句时,循环体的语句相对于for缩进两格。第一节for语句二、语句执行过程for语句的执行过程可由以下4步来描述。(1)执行“控制变量初始化语句”,使控制变量获得一个初值。(2)判断控制变量是否满足“条件表达式”,若满足条件则执行一遍循环体,否则结束整个for语句,继续执行for循环下面的句子。(3)根据增量
2、表达式,计算出控制变量所得到的新值(4)自动转到第(2)步。第一节for语句三、语句格式举例for(i=1;i<=100;i++)for(i=100;i>=1;i--)for(i=7;i<=77;i+=7)for(inti=20;i>=2;i-=2)控制变量i和j共同进行循环控制,i从1变到99,j从2变到100,增量均为2。for(inti=1,j=2;i<=99&&j<=100;i+=2,j+=2)需要说明的是:可以在for循环“控制变量初始化语句”中声明变量,这些变量只在for循环结构中有效,离开了该for结构,变量就无效了。第一节for语句例4.1利用for循环,计算输出1+2+…+1
3、00的和例4.2输出1至100之间所有偶数。【方法1】可以想到对于1-100之间的100个数字i,直接重复进行判断,如果i是偶数,则输出i的值。程序中,将1-100之间的所有数字都列举出来,然后一一判断,符合偶数条件的,就输出。这种思想,本质上是穷举。穷举法保证在求解的过程中,所有可能解都会判断到,不会丢解。当然缺点就是有时候效率不高。【方法2】在上述分析的基础上,再进一步分析:我们都知道,相邻偶数之间的差值为2,所以,我们还可以设置变量的初值为2,增量为2的for循环,使得循环次数减少为50次。例4.3利用for循环,分别计算1至100中奇数的和、偶数的和。【分析】根据例4.2的分析,很容易
4、找到所有的偶数和奇数,继而计算其和。假设用变量sum1和sum2分别存放偶数与奇数和,累加就是在sum1或sum2的基础上,加上一个数字,改变累加变量的值;再加上一个数字,改变累加变量的值;......;如此重复下去。例4.4利用for循环计算n!的值。n!=1*2*3…*n【说明】:当n>=13时,s值超过了int类型的表示范围。还有一种比int更大的类型,称为longlong,它的表示范围是-263~263-1,比-1019~1019略窄,而我们一直使用的int范围是-231~231-1,只比-2*109~2*109略宽。【上机练习】1.求平均年龄【1.5编程基础之循环控制01】题目描述:
5、班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。输入:第一行有一个整数n(1<=n<=100),表示学生的人数。其后n行每行有1个整数,表示每个学生的年龄,取值为15到25。输出:输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。样例输入:21817样例输出:17.50【上机练习】2.均值【1.5编程基础之循环控制02】题目描述:给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。输入:输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。输出:输
6、出一行,包含一个浮点数,表示均值,精确到小数点后4位。样例输入:21.03.0样例输出:2.0000【上机练习】3.求整数的和与均值【1.5编程基础之循环控制03】题目描述:读入n(1<=n<=10000)个整数,求它们的和与均值。输入:输入第一行是一个整数n,表示有n个整数。第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。输出:输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。样例输入:4344222343222样例输出:1131282.75000【上机练习】4.最高的分数【1.5编程基础之循环控制04】题目描述:孙老师讲授的《计算概论》这门
7、课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?输入:输入两行,第一行为整数n(1<=n<100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。输出:输出一个整数,即最高的成绩。样例输入:58578909960样例输出:99【上机练习】5.最大跨
此文档下载收益归作者所有