第4周:循环控制
for循环
阶乘
int fact=1;
int i=1;
for(i=1; i<=n;i++)
{fact*=fact*i;}
//阶乘 n!=1*2*3*...*n
-for循环做求和,初始值为0;for循环求乘积,初始值为1。
-for(初始值;条件;每轮动作),其中任意项均可省略,并且for循环等同于while循环
Tips:
-如果有固定次数,采用for循环
-如果必须执行一次,采用do-while循环
-其他情况使用while循环
for ( int i=10; i> 1; i /=2 ) {
printf("%d ", i++);
}
//输出结果为 10 5 3 2。 先判断条件,执行括弧内的语句,再进行 i/=2。
-
break和continue
- break:跳出所在的那层循环
- continue:跳过这一轮循环剩下的部分,进入下一个循环
for ( one = 1; one < x*10; one++ ) {
for ( two = 1; two < x*10/2; two++ ) {
for ( five = 1; five < x*10/5; five++ ) {
if ( one + two*2 + five*5 == x*10 ) {
printf("可以用%d个1角加%d个2角加%d个5角得到%d元\n",
one, two, five, x);
exit = 1;