例如:对10个班级,计算每个班的《程序设计基础》的平均成绩。 分析: 1)外循环1=1-10 2)在每个外循环内 s=0.0;1每个班的成绩和 内循环:要按照赋初值、判断循环条件、执行内循环体一三个过程进行。 j=130(假设每班30人){输入第j个成绩; s=s+第j个成绩;} 输出s/30 ①int i,j,sc;double s; ① int i,j,sc,n; double s; ②for(e1;ik=10;i++)∥10个班级 ②for(=1;ik=10;i+)∥10个班级 ③ 《s=0;∥s-每班成绩和 3 {s=0;n=0;s-每班成绩和,n-每班人数 ④ forj=1;j水=30;j++)/每班30人 ④ scanf("%d",&sc);I/班内第一个成绩 ⑤ scanf("%d",&sc); ⑤ while (sc>=0) ⑥ S=S+SC; ⑥ s=s+sc;n++; ⑦ ⑦ scanf("%d",≻/班内下一个成绩 ⑧ printf("%fn",s/30)l∥每个班平均成绩 ⑨ printf("%nn",sln);∥每个班平均成绩
例如:对10个班级,计算每个班的《程序设计基础》的平均成绩。 分析: 1)外循环 i = 1-10 2)在每个外循环内 s=0.0; //每个班的成绩和 内循环:要按照赋初值、判断循环条件、执行内循环体-三个过程进行。 j =1-30(假设每班30人) { 输入第j个成绩; s=s+第j个成绩;} 输出s/30 ① int i,j,sc,n; double s; ② for (i=1;i<=10;i++) // 10个班级 ③ { s=0; n=0; //s-每班成绩和,n-每班人数 ④ scanf("%d",&sc); //班内第一个成绩 ⑤ while (sc>=0) ⑥ { s=s+sc; n++; ⑦ scanf("%d",&sc); //班内下一个成绩 ⑧ } ⑨ printf("%lf\n",s/n);//每个班平均成绩 ⑩ } ① int i,j,sc; double s; ② for (i=1;i<=10;i++) // 10个班级 ③ { s=0; //s-每班成绩和 ④ for (j=1;j<=30;j++) //每班30人 ⑤ { scanf("%d",&sc); ⑥ s=s+sc; ⑦ } ⑧ printf("%lf\n",s/30);//每个班平均成绩 ⑨ }
合法的嵌套循环: (1)while() (2)do (3)while() { { 。 aaeaa while0 do do { { {. } }while(); }while(); 。年年年0 000450 }while(); (4) for( 外循环 注意: do ()内、外循环的循环控制变量不能同名。 内循环 while( (2)内循环应完全置于外循环内 -内外循环不能交叉。 内循环
(1) while( ) { . while() { . } . } (2) do { . do { . }while( ); . }while( ); (3) while( ) { . do { . }while( ); . } (4) for( ) { . do { . }while(); . while() { . } . } 外循环 内循环 内循环 合法的嵌套循环: 注意: (1) 内、外循环的循环控制变量不能同名。 (2) 内循环应完全置于外循环内 - 内外循环不能交叉
常用的循环嵌套-二重循环-注意如下: 明确外循环要实现的目标、循环次数。 明确内循环要实现的目标,循环次数。 ③ 建立内外循环之间的联系: 每个变量初始化在外循环内?外? 为什么??????
常用的循环嵌套-二重循环-注意如下: ① 明确外循环要实现的目标、循环次数。 ② 明确内循环要实现的目标,循环次数。 ③ 建立内外循环之间的联系: 每个变量初始化在外循环内?外? 为什么??????
结构化程序设计方法:自顶向下,逐步求精 ■例6.10* ■思路 米** ◆循环5次,每次输出一行。 **米米* ◆输出第i行:输出*,共2i-1个星号一重复。 *米米米米米水 *****米**水 级算法: ①for(i=1;iK=5;it+) ②{ 二级算法:输出第i行 ③ 输出第i行: ①forG=1j<=2*i-1j++) ④ 换行; ② printf(*");∥输出一个*: ⑤】
结构化程序设计方法:自顶向下,逐步求精 ◼ 思路 ◆ 循环5次,每次输出一行。 ◆ 输出第i行:输出*,共2*i-1个星号—重复。 一级算法: ① for (i=1;i<=5;i++) ② { ③ 输出第i行; ④ 换行; ⑤ } 二级算法:输出第 i 行 ① for (j=1;j<=2*i-1;j++) ② printf("*"); //输出一个*; ◼ 例6.10