1.循环的基本概念
循环结构是指按照指定的条件重复执行某个指定的程序段。
2.for语句
? 格式:for
(表达式1;表达式2;表达式3)
语句;
? 确定的循环次数
注意:
?for循环在进入循环体之前首先判断执行条件是否被满足,如果条件不满足,则不循环。即循环体可以一次都不执行。
①计算1+2+3+......+99+100 (“累加”)
② 计算n!
即:输入:n
输出:1×2×3×......×n (“累乘”)
③ 打印1~10的平方和立方
输出样例:
1 - 1 1
2 - 4 8
3 - 9 27
…….
10 - 100 1000
④ 输出所有的大写字母。
⑤ 计算从0到某个数之间所有奇数的和。
⑥从键盘读入N个数,求出最大数和最小数。
For语句使用的几点说明:
? 循环初始条件(即:表达式1)可以由多个子语句组成,各子语句之间用“,”分隔。
int N,C,i;
cout<
N:"<
cin>>N;
for(C=1,i=1;i<=N;i++)
C=C*i;
cout<<
C<
? for循环中的表达式1,表达式2,表达式3三项均可以省略。
int N,C,i;
cout<
N:"<
cin>>N;
C=1,i=1;
for(;i<=N;)
C=C*i, i++;
cout<<
C<
3. While循环
While
(判断条件)
{
循环体;
}
J 循环次数未知
J 练习:输入一串字符,以‘#’结束,统计在这串字符中'a'出现的数目。
4. do-while 循环
do
{
循环体;
}
While
(判断条件)
J 直接进入循环体,循环体至少被执行一次。
J 练习:1、求n是否是质数 2、求两个数的最小公倍数和最大公约数。
5. 多重循环(for循环的多层嵌套)
for(e1-1;e1-2;e1-3)
{ ……
for(e2-1;e2-2;e2-3)
{……
}
……
}
在使用循环嵌套时应注意
(1)能够正确判断内层循环体的执行次数。
(2)能够正确判断内层循环体的范围。
(3)注意内层循环的初值设定。
(4)能正确处理内层循环与外层循环变量的关系。
① “百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?(要求:用循环结构程序设计计算出各有公鸡、母鸡、小鸡多少只?)
2、搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬一块砖。要求一次全搬完,问男、女、小孩各若干?
3、一张单据上有一个5位数的号码1XX47,它的千位和百位的数字已被涂抹得模糊不清,如下所示;另一方面,我们知道这个数能被57或67除尽。请设计一个算法,找出该单据原有的可能号码及个数。
4、找出所有的三位数,要求它的各位数字的立方和正好等于这个三位数。例如:153=1^3+5^3+3^3就是这样的三位数。
5、一位卡车司机违反交通规则,撞死了行人。当时有三位目击者,都没有看清卡车的牌照号码,只记住了牌照的某些特征:甲记住前两个数字是相同的,乙记住牌照的后两位数字是相同的,丙是一位数学家,他说:“牌照号码肯定是一个四位数,并且这个四位数恰好是一个整数的平方。”根据这些,你能否正确判断出牌照号码?
6、同一个笼子里,有一些鸡和兔子,如果这些鸡和兔子一共有35个头,94只脚,请问笼内有鸡和兔各多少只?
② 在屏幕上显示由*组成的三角形图形,其中三角形的层数N由键盘输入。
如N=4时,显示图形如下
*
**
***
****
③在屏幕上显示由*组成的三角形图形,其中三角形的层数N由键盘输入。
如N=4时,显示图形如下
*
***
*****
*******
④四个学生上地理课时,回答我国四大淡水湖的大小时这样说,
甲:最大洞庭湖,最小洪泽湖,鄱阳湖第三;
乙:最大洪泽湖,最小洞庭湖,鄱阳湖第二,太湖第三;
丙:最小洪泽湖,洞庭湖第三;
丁:最大鄱阳湖,最小太湖,洪泽湖第二,洞庭湖第三;
对于每个湖的大小,每个学生仅答对了一个,请编程确定四个湖的大小。
⑤ 甲、乙、丙、丁、戊五个人在运动会上分获100米、200米、跳高、跳远、铅球冠军,有四个人猜测比赛结果,
A说:乙获铅球冠军,丁获跳高冠军; B说:甲获100米冠军,获跳远冠军;
C说:丁获200米冠军,丙获跳远冠军; D说:乙获跳高冠军,获铅球冠军;
结果每人只说对了一句,问五人各获哪项冠军。
⑥ 四个小孩在校园内踢球,“砰”的一声,不知是谁踢球把教室窗户的玻璃打破了,王老师跑出来一看,问:“是谁打破了玻璃”?
小张说:“是小强打破的。”
小强说:“是小胖打破的。”
小明说:“我没有打破窗户的玻璃。”
小胖说:“王老师,小强在说谎,不要相信他。”
这四个小孩中只有一个说了老实话。
请判断:说实话的是谁?是谁打破了窗户的玻璃
6. 终止循环语句
★break语句的使用格式:
break;
break语句的功能是终止当前循环,在循环体中遇到这个语句时,将无条件的跳出该循环。
★continue语句的使用格式:
continue;
continue语句的功能是中断本次循环体的执行过程,直接进入循环体的下一次循环。
练习:
1、利用泰勒公式求e的值,直到最后一项小于10^(-7)为止。
泰勒公式式为:
e=1+1/1!+1/2!+......+1/n!
2、某部队举行一次军事演习,A、B两队约好在同一时间从相距100公里的各自驻地出发相向运动。A队的速度为10公里/小时,B队的速度为8公里/小时。一通讯员骑马从A地同时出发为行进中的两队传递消息,速度为60公里/小时。每遇一队立即折回驶向另一队,当两队距离小于0.5公里时,停下来不再传递消息。求此时通讯员跑了多少趟(从一队到另一队为一趟)?