《c语言多重循环》PPT课件.ppt
文本作图问题南通大学徐丹n一个循环体内包含另一个完整的循环结构,称为循环的嵌套。nwhile语句、do-while语句和for语句都可以互相嵌套,甚至可以多层嵌套。例如:while()for()for()for()假设外循共循环m次,内循环共循环n次,则:内外循环用到的循环变量名不能相同外循环每循环1次,内循环需要完成整个n次循环内循环的循环体共执行mn次题目目1输出以下图形*分析分析1、该问题用二重循环实现2、外循环控制输出行数,for(i=1;i=n;i+)内循环实现输出列数,for(j=1;j=m;j+)3、该题行数i与列数j的关系是j=i 代代码#includemain()inti,j;for(i=1;i=4;i+)for(j=1;j=i;j+)printf(*);printf(n);题目目2输出以下图形*分析1、该问题用二重循环实现2、外循环控制输出行数内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数3、该题行数i与列数j的关系是j=i代码#includemain()inti,j;for(i=1;i=4;i+)for(j=1;j=4-i;j+)printf();for(j=1;j=i;j+)printf(*);printf(n);+题目目3+输出以下图形*+分析1、该问题用二重循环实现2、外循环控制输出行数内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数3、本题图形的规律:每行“*”的个数与行数i的关系是2*i-11234n=4时:时:3210n-ii13572*i-1 *代码#includemain()inti,j,k;for(i=1;i=4;i+)for(j=1;j=4-i;j+)printf();for(k=1;k=2*i-1;k+)printf(*);printf(n);题目目1输出以下图形112112321123456789876543210空格数空格数i123456789前半段前半段 数字数字012345678后半段后半段 数字数字 9ii i1*1*121*12321*12345678765432112345678987654321+代码#includevoidmain()inti,j;for(i=1;i=9;i+)for(j=1;j=9-i;j+)printf();for(j=1;j=1;j-)printf(%d,j);printf(n);题目目2输出以下图形*-3-2-1 0 1 2 3n=4时:时:3210123abs(i)i13575312*(n-abs(i)-1 *+代码#include#includevoidmain()inti,j;for(i=-3;i=3;i+)for(j=1;j=abs(i);j+)printf();for(j=1;j=2*(4-abs(i)-1;j+)printf(*);printf(n);外循环控制图形的行数内循环的第一部分控制输出字符的首位置,第二部分控制输出字符的个数用printf(n)语句换行如果关于x轴或y轴对称,循环变量从-(n-1)/2到(n-1)/2,n为行数或列数。