- 2
- 0
- 约1.62千字
- 约 5页
- 2022-04-08 发布于云南
- 举报
园丁在本学期的C语言课程教学中发现,多数同学不能很好地驾驭多重循环问题,而多重循环问题却是各类课程考试、等级考试中非常常见的重要题型,即是重点,也是难点,那么要如何更好地理解和驾驭这类问题呢? 首先要对多重循环嵌套的结构有正确的理解,所谓多重循环,就是循环里面嵌套循环,那么我们权且称嵌套在里面的循环叫做内循环,被嵌套的那个循环叫做外循环,而多重循环的精髓在于,内循环结束后,才回到外循环进行变量更新,并重新进入下一轮的内循环。 上述内容已经把多重循环从概念和原理上做了阐述,接下来笔者要提出一种基于线性方程组的多重循环问题求解办法。假设外循环的循环变量为i,内循环的循环变量为j,并假设内循环的总循环次数为Z,根据笔者对多重循环问题的观察,发现,内循环总次数Z常常和外循环变量i存在线性关系,那么是不是可以利用线性方程组的求解来获取内循环次数呢?这是一种解决多重循环问题非常行之有效的方法。 下面举一个例题: 对于这类问题,我们看到,图形中每行都由空格和星星组成,那么空格的打印和星星的打印就可以理解为内循环,而外循环则控制行数,以本题为例,假设总空格数(也即内循环的循环次数)为Z,并假设Z=a*i+b,在外循环的第一次循环中,i==8, Z应该等于0,没有空格,外循环的第二次循环中,i==7,此时空格总个数为1,那么有了这样两个结论即可列方程求解,0=8*a+b为第一个方程,1=7*a+b为第二个方程,两个方程,两个未知数,即可求得a=-1,b=8,那么Z就等于8-i,所以程序中控制空格的内循环就写成:for(j=1;j=8-i;j++) printf( ); 我们再用同样的办法来求星星的控制,同样假设星星的循环为内循环,改内循环的总次数假设为Z,并令Z=a*i+b,通过观察发现,外循环的第一次循环i==8,表示第一行,内循环中第一行星星为15颗,外循环的第二次循环i==7,表示第二行,则有星星为13颗,可列方程:15=8*a+b,13=7*a+b,解方程得到:a=2,b=-1,所以Z=2*i-1,表示内循环的循环次数,所以控制星星的代码就写成:for(k=1;k=2*i-1;k++) printf(*),这里可以看到,当k==1的时候表示打印第一颗星星,k==2表示打印第二颗星星,总共要打Z=2*i-1颗星星。 接下来,我们以这种方法来理解冒泡排序算法。 注意到外循环要循环N-1次,因为排序排满前N-1个数,最后一个数的位置也就跟着定了,那么假设内循环总次数为Z=a*i+b,且注意到外循环的第一次循环,i==0,则内循环总次数为N-1,而外循环的第二次循环,i==1,内循环总次数减少为N-2,可列方程,第一个方程为:N-1=0*a+b,N-2=1*a+b,则b=N-1,a=-1,所以Z=-i+N-1,也就是N-1-i,当内循环变量j==0,表示第一次比较,j==1表示第二次比较,总共要比较Z=N-1-i次,所以内循环控制比较的代码要写成:for(j=0;jN-1-i;j++)。 如果我们把外循环变一变,变成如下的ppt: 外循环的第一次循环中,i==1,内循环的总比较次数Z=a*i+b,对于N个数,比较次数仍然为N-1,而外循环的第二次循环,外循环变量i==2,内循环总比较次数下降为N-2(因为最大数沉底,这个数不需要比较),那么方程组变为:N-1=1*a+b,N-2=2*a+b,解方程可得,a=-1,b=N,所以Z=N-i,那么内循环就写成:for(j=0;jN-i;j++) ,其中j==0表示第一次的比较,j==1表示第二次比较,一直到j=Z-1,共有Z次内重循环。 通过上述讨论,采用线性方程组解决多重循环问题的方法是一种非常实用而且操作简单的方法。
您可能关注的文档
- 华为 google报表系统.docx
- 华智融8110连线图.docx
- 华智融8210连线图.docx
- 华智融应用程序下载说明.docx
- 话术培训(异议处理)10-21.doc
- 回流炉焊接工艺培训教材1--重要.ppt
- 回流炉温度测定实验.ppt
- 技術資料(無鉛).pdf
- 佳能产品无铅化实装实验报告.pdf
- 简易晶体管测试题目.doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 土地设计咨询技术服务费参考方案——〔2025〕32项土地技术服务收费标准.pdf VIP
- 公考考前抢分宝典言语理解.pdf VIP
- 2026年湖南生物机电职业技术学院单招职业适应性考试题库附答案.docx VIP
- 2026年湖南生物机电职业技术学院单招职业技能测试必刷测试卷必考题.docx VIP
- 人教版物理八年级上册课后练习.doc VIP
- 2022年人教精通版六年级下册英语全册教案第二学期全册教学设计(含教学反思) (2).doc VIP
- 福特福睿斯车主手册.pdf
- 福特福睿斯1.5发动机机械维修手册.pptx VIP
- 篮球比赛记录表.doc VIP
- 人教版物理八年级上册课后练习及答案.doc VIP
原创力文档

文档评论(0)