循环嵌套:一个循环中嵌套其他循环,只有在内层循环结束时,才能执行下一次外层循环(外层循环执行1次,内层循环执行N次)
如:while(条件){
while(条件){
//循环体;
}
}
do{
do{
//循环体;
}while(条件);
}while(条件);
示例: 使用循环打印矩形:外层循环控制打印的行数,内层循环控制每行打印*的个数 ******** ******** ******** int i=0,j; while(i<3){ j=0; while(j<8){ printf("*"); j++; } printf("\n"); i++; } |
打印直角三角形: * ** *** **** int i=0,j; while(i<4){//外层控制打印的行数 j=0; while(j<=i){//内层循环控制每行打印星号的个数 printf("*"); j++; } printf("\n"); i++; } |
打印倒直角三角形: **** *** ** * int i=0,j; while(i<4){ j=0; while(j<4-i){ printf("*"); j++; } printf("\n"); i++; } |
打印平行四边形 ******** ******** ******** int i=0,j,k; while(i<3){//外层循环控制行数 //打印空格循环 j=0,k=0; while(j<2-i){ printf(" "); j++; } //打印星号的循环 while(k<8){ printf("*"); k++; } //换行 printf("\n") ; i++; } |
打印直角三角形 * *** ***** ******* int i=1,j; while(i<5){//外层控制打印的行数 j=0; while(j<2*i-1){//内层循环控制每行打印星号的个数 printf("*"); j++; } printf("\n"); i++; } |
打印正的等腰三角形 * *** ***** ******* int i=0,j,k; while(i<4){//外层循环控制行数 j=0,k=0; //打印空格 while(j<3-i){ printf(" "); j++; } //打印星号 while(k<2*i+1){ printf("*"); k++; } //换行 printf("\n"); i++; } |