C语言基础 - 循环控制

break:退出整个循环
continue:退出本轮循环
在多层嵌套循环中,只能对它所在的那套循环做。

应用1
20190105092911498.png

int n,i;
double sum 0.0;
double sign 1.0;

scanf("%d",&n);
for ( i = 1; i<=n; i++ ){
    sum += sign/i;
    sign = -sign;
}

应用2
正序分解整数
输入一个非负整数,正序输出它的每一个数字
输入:13425
输出:1 3 4 2 5
20190105095819638.png

应用3
求最大公约数
输入两个数a和b,输出他们的最大公约数
输入: 12 18
输出: 6
法一 枚举法
20190105112414223.png
法二 辗转相除法

  1. 如果b等于0,计算结束,a就是最大公约数;
  2. 否则,如果a除以b的余数,让a等于b,而b等于那个余数;
  3. 回到第一步。

20190105113431948.png