Logo

郎哥编程

第27讲:While嵌套循环

2026-03-09 28

就像if语句可以嵌套一样,一个循环也可以嵌套在另一个循环中,一个循环中含有另一个循环就称为嵌套循环。

嵌套循环的工作原理如下:首先外循环的第一轮触发内循环,然后内循环将一直执行到完成为止,然后,外循环的第二轮再次触发内循环,此过程不断重复直到外循环结束,使用嵌套循环时,只有在内循环完全结束后,外循环才会执行下一趟循环,

一个while循环可以嵌套在另一个while循环中,示例1演示了嵌套while循环的用法。

例【1】while嵌套循环练习1

编程要求:用*输出一个直角三角形图案。

程序清单 sample.c

#include <stdio.h>
void main()
{
	int nstars=1,stars;
    //外层循环控制输出*的行数
    while( nstars <= 10 )
    {
         stars = 1;
         //内层循环控制打印星号的数量
         while( stars <= nstars )
		 {
            printf("*");
            stars++;           
		 }
         printf("\n");
         nstars++;
    }
  
}

程序用外层循环控制输出*的行数,循环条件为nstars <= 10,nstars初始化为1,该条件允许输出10行*;内层循环控制*输出的数量,循环条件为stars <= nstars,内层循环开始前,stars都被赋值为1,然后在内层循环体内做自增操作。

例【2】while嵌套循环练习2

编程要求:输入字符序列,统计输入的字符数。

程序清单 sample.c

#include <stdio.h>
void main()
{
    int x;
    char ans;
    ans = 'y';
    do {
       x = 0;
       printf("请输入字符序列:\n");
       do {
         scanf("%c",&ans);
         x++;
       }while( ans != 'q'); 
       printf("\n输入的字符数为:%d",--x);
       printf("\n是否需要输入更多字符序列(Y/N)?");
       scanf("%c",&ans);
    }while( ans!='N' );
 }

程序首先提示用户输入字符序列,进入内层do-while循环,接收用户输入的字符序列,直到用户按下回车键并输入字符q,程序将退出内层的do-while循环。程序接着询问用户是否要输入更多的字符序列,如果用户输入y或Y,do-while外循环的条件为真,则程序将提示用户输入另一序列字符。直到用户按下除y或Y以外的任何键时,外循环才结束。

while循环和do-while循环也可以互相嵌套。例如,可以将示例1的内层while循环修改为do-while循环,或者将外层循环修改为do-while循环。

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论