C语言多重循环,c语言多重循环原理
一、概要在c语言中,if,switch,for,while,do-while可以相互间多次嵌套。
if(){
用于()
{
用于()
{
}
}
}
while()
{
for(){
}
for(){
}
}
中断,继续只跳出当前循环,不会影响外重循环,不会因为内重循环跳出整个循环体,只影响与自己最近的一个循环。
用于()
{
用于()
{
打破;
}
}
二、二重循环# include stdio。h void main(){ int I,j;for(I=1;I=2;I){ printf(-\ n );for(j=1;j=3;j){ printf( * * * * * * * * * * * * * * * \ n );} printf(-\ n \ n );}}
# include stdio。h void main(){ int I,j;for(I=1;I=5;I){ for(j=1;j=5;j){ printf( * );} printf( \ n );}}
*
**
***
****
*****
99乘法表
# include stdio。h void main(){ int I,j;for(I=1;I=9;I){ for(j=1;j j ) { printf(%dx%d=%d ,j,I,j * I);} printf( \ n );}}
2.1、一重循环平行嵌套多重循环/*注意:你的选择是C IDE */# include stdio。h void main(){ int I,j,k;for(I=1;I=5;I){ for(j=1;j=5;j){ printf( * );} for(j=1;j=5;j){ printf( @ );} printf( \ n );}}
等腰三角形
/*注意:你的选择是C IDE */# include stdio。h void main(){ int I,j,k;for(I=1;I=5;I){ for(k=1;k=5-I;k){ printf();} for(j=1;j=2 * I-1;j){ printf( * );} printf( \ n );}}/*1 1 42 3 33 5 24 7 15 9 0*/
/*注意:你的选择是C IDE */# include stdio。h void main(){ int I,j,k;for(I=1;I=5;I){ for(k=1;k=I-1;k){ printf();} for(j=1;j=11-2 * I;j){ printf( * );} printf( \ n );} }/* 1 1 4 0 9 11-2 * I2 3 3 1 7 11-43 5 2 2 5 11-64 7 1 3 3 3 3 11-85 9 0 4 1 11-10 * * * * * * * * * * * * * * * * * *三、三重循环百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
公鸡x 0-100/5
母鸡y 0-100/3
小鸡z 0-100*3
5*x 3*y z/3==100 z%3==0
x y z==100
/*注意:您的选择是C IDE */# include stdio。h void main(){ int x,y,z;for(x=0;x=100/5;x)for(y=0;y=100/3;y)for(z=0;z=100 * 3;z){ if((x * 5y * 3z/3==100)(z % 3==0)(x y z==100)){ printf( x=% d y=% d z=% d \ n ,x,y,z);} }}
/*注意:你的选择是C IDE */# include stdio。h void main(){//0-9//XYZ int x,y,z;for(x=0;x=3;x){ for(y=0;y=3;y){ for(z=0;z=3;z ) { printf(\n%d%d%d ,x,y,z);} } printf( \ n );}}
练习:36、笼子里一共有鸡和兔子35只,它们共有96条腿,问鸡和兔子分别有多少只?
四、菱形/*注:你的选择是C IDE */# include stdio。h #包括数学。h void main(){ int I=1,j,k,r=5;//r表示行数for(I=-1 * r;I I){ for(k=1;k=ABS(I);k){ printf();} for(j=1;j=(2 * R1)-2 * ABS(I);j){ printf( * );} printf( \ n );}}/* -4 -3 -2 -1 0 1 2 3 4*/
五、菱形与函数/*注意:您的选择是C IDE */# include stdio。h #包括数学。h//定义一个输出函数,用于重复向屏幕输出信息//c表示参数,要输入的字符//n表示重复次数void out(char c,int n){ int I;for(I=1;i i ) { printf(%c ,c);}}void main(){ int i=1,j,k,r=10 for(I=-1 * r;i i ){ out(,ABS(I));out( * (2 * R1)-2 * ABS(I));printf( \ n );}}/* -4 -3 -2 -1 0 1 2 3 4*/
六、空心菱形# include stdio。h #包括数学。h void main(){ int I=1,j,k,r=8;//r表示行数for(I=-1 * r;i i ){ //控制行数for(k=1;k=ABS(I);k ) //控制空格{ printf( );} for(j=1;j=(2 * R1)-2 * ABS(I);j ) //控制星号与中间的空格{ //如果是第一列或最后一列if(j==1 j==((2 * R1)-2 * ABS(I))){ printf( * );} else { printf();} } printf( \ n );}}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。