循环结构
分析:
1.重复执行的代码段是什么
2.重复执行的条件是什么
结构:while循环
语法结构:
while(条件){
重复执行的循环体
}
注意;递增时千万不要忘记加上i++,否则会变成死循环
例:1.五个学生募捐,求募捐总数,及每人平均募捐数。
2.求最大公约数
/* Note:Your choice is C IDE */
#include “stdio.h”
int main()
{ int m, n,i=2,yue;
printf(“请输入两个数”);
scanf("%d,%d",&m,&n);
if(m>0&&n>0){
if(m>n){
while(i<=n){
m%i==0&&n%i==0;
yue==i;
i++;
}printf(“最大公约数为%d”,yue);}
if(m<n){
while(i<=m){
m%i==0&&n%i==0;
yue=i;
i++;
}printf(“最大公约数为%d”,yue);}
}else printf("请重新输入一个数");
3.求最小公倍数
1.非0的数为真,代表条件永远成立(必须在循环体内部通过判断条件适用break,防止变为死循环)
2.终止循环的方法:
(1)通过while()中条件把他卡死
(2)在{ }中加入break直接卡死
3.循环结构总结:
(1)while循环
while(条件){
重复执行的循环体}
(2)do…while语句
do{循环体代码段
}while(条件);
PS:(1)和(2)中如果条件成立,while循环和do…while循环没有区别;如果条件不成立,while循环比do…while循环少走一圈
(3)for结构
for(初始值部分;条件;递增或递减量部分){
循环体段;}
例如:for(i=1,sum=0;i<=5;i++){
sum+=i;
}
PS:(1)初始值部分;可以写在for前面。例如:
i=1;sum=0;
for(;i=5;i++){
sum+=i;
}
(2)第3部分,“递增或递减量部分”可以放在循环体中。例如,
for(i=1,sum=0;i<=5;){
循环体;i++}
(3)唯独条件不可以改变位置
(4)初始值部分只执行一次
1.赋值号左边一定是变量
2.pow(x,y)是x的y次方
例题:求sum=a+aa+aaa+aa…aa之值,其中a是一个数字,n表示a的位
数,n由键盘输入。例如:
2+22+222+2222+22222(此时n=5)
求n的阶乘之和(即求1!+2!+3!+4!+…+20!)