C语言循环嵌套定义及程序举例

第十二次 上机任务

循环的嵌套

一、循环的嵌套

1、含义:一个循环体内又包含另一个完整的循环结构称为循环的嵌

套。内嵌的循环中还可以嵌套循环,这就是多层循环。

2、三种循环(while循环、do-while循环和for循环)可以互相嵌套。

3、形式:

下面几种都是合法的形式:

(1) while( ) (2) do (3) for(;;) {… {… {

while( ) do for(;;) {…} {… } {… } } while( ); } } while( ); (4) while( ) (5) for(;;) (6) do

{… {… {… do{…} while( ) for(;;){ } while( ) { } … {…} … }

} } while( )

1、输出如下图形:

******

****** ******

******

2、输出九九乘法表

#include \main() {

int i,j,k;

for(i=1;i<=9;i++) {

for(j=1;j<=i;j++) {

* ** *** ****

k=j*i;

printf(\ }

printf(\ }

getch(); }

3、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。

#include \main() {

int x,y,z;

for(x=1;x<=20;x++) {

for(y=1;y<=33;y++) {

for(z=3;z<=99;z+=3) {

if((5*x+3*y+z/3==100)&&(x+y+z==100))/*是否满足百钱和百鸡的条件*/ printf(\ } } }

getch(); }

例1:判断m是不是素数。 #include #include main()

{ int m,i,k;

scanf(\ k=sqrt(m);

for (i=2;i<=k;i++) if(m%i==0) break; if(i>k)

printf(\ else

printf(\ getch(); }

例2:把100~200之间的不能被3整除的数输出。 #include main() { int n;

for (n=100;n<=200;n++) {

if (n%3==0) continue; printf(\ }

getch(); }

1、 小红今年12岁,她父亲比她大20岁,编一程序,计算出她的父亲在几年后

比她年龄大一倍,到那时他们两人的年龄各为多少? #include main()

{ int x,y,i; x=12; y=32; i=0;

while(y!=2*x) { x++; y++; i++; }

printf(\年后爸爸的年龄是小红的2倍,此时小红的年龄为%d,爸爸的年龄为%d\\n\

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4