文档详情

第4章 循环结构程序设计.pptx

发布:2025-03-02约8.77千字共92页下载文档
文本预览下载声明

第4章循环结构程序设计;4.1引例; printf(InputMathscore,Englishscore,Computerscore:\n);

scanf(%d%d%d,MaScore,EnScore,CScore);

sum=MaScore+EnScore+CScore;

aver=sum/3.0;

printf(Thesumis%d\nTheaverageis%.1f\n,sum,aver);;

i=1;

while(i=30)

{

i++;

};#includestdio.h

intmain(void)

{

inti,MaScore,EnScore,CScore,sum;

floataver;

i=1; //循环变量i赋初值为1

while(i=30) //当i=30时执行花括号内的语句

{

printf(InputMathscore,Englishscore,Computerscore:\n);

scanf(%d%d%d,MaScore,EnScore,CScore);

sum=MaScore+EnScore+CScore;

aver=sum/3.0;

printf(Thesumis%d\nTheaverageis%.1f\n,sum,aver);

i++; //循环变量i的值加1

}

return0;

};4.1引例;4.2循环控制结构与循环语句

;4.2循环控制结构与循环语句

;4.2循环控制结构与循环语句

;

例4.1用while语句实现了循环输出,实现的语句为:

i=1;

while(i=30)

{

printf(InputMathscore,Englishscore,Computerscore:\n);scanf(%d%d%d,MaScore,EnScore,CScore)sum=MaScore+EnScore+CScore;

aver=sum/3.0;

printf(Thesumis%d\nTheaverageis%.1f\n,sum,aver);

i++;

};4.2循环控制结构与循环语句

;4.2循环控制结构与循环语句

;用do-while语句实现例4.1中的循环输出,实现的语句为:

i=1;

do

{

printf(InputMathscore,Englishscore,Computerscore:\n);scanf(%d%d%d,MaScore,EnScore,CScore)sum=MaScore+EnScore+CScore;

aver=sum/3.0;

printf(Thesumis%d\nTheaverageis%.1f\n,sum,aver);

i++;

}while(i=30);;while和do---while循环的比较;while和do---while循环的比较;while和do---while循环的比较;习题3-4;习题3-5;4.2循环控制结构与循环语句;4.2循环控制结构与循环语句;4.2循环控制结构与循环语句;4.2循环控制结构与循环语句;4.2循环控制结构与循环语句;4.2循环控制结构与循环语句;注意;注意;注意;注意;逗号表达式;注意;4.3几种循环的比较;4.3几种循环的比较;4.3几种循环的比较;思考:

1、求1+3+5+…+99

2、求2+4+6+…+100

3、求50+51+…+100

4、求

;4.3几种循环的比较;【例4.3】编??求累乘之积,从键盘输入n,计算n!,并输出。

【问题分析】这是一个累乘问题,需要先后将n个数相乘,如果用ti表示前i项之积,那么有如下公式:

t0=1

t1=t0*1

t2=t1*2 =ti=ti-1*i= t=t*i

tn=tn-1*n; inti,n;

longintt=1;

printf(“请输入n的值:\n”);

scanf(“%d”,n);

for(i=1;i=n;i++)

{

t=t*i;

};【例4.4】编程,用“欧几里德”算法求两个自然数m和n的最大公约数。

【问题分析】“欧几里德”算法又称“辗转相除法”,是求两个自然数的最大公约数的经典算法。它先将m除以n求余数r,并判断余数r是否为0,如果余数r为0,则n就是最大公约数,否则,就辗转赋值(m=n,n=

显示全部
相似文档