for循环语句嵌套程序与while语句循环程序的设计.ppt
《for循环语句嵌套程序与while语句循环程序的设计.ppt》由会员分享,可在线阅读,更多相关《for循环语句嵌套程序与while语句循环程序的设计.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、for循环嵌套程序的概念与设计【1227】打印】打印以以n为边长的为边长的矩阵图形矩阵图形的程序设计的程序设计#include int main() int n,i,j; scanf(%d,&n); for(i=1;i=n;i+) for(j=1;j=n;j+) printf(#); printf(n); return 0;对应行的循环叫做外循环(i),对应列的循环叫做内循环(j)。i = 1j = 1输出 1 1 (第1次输出)j = 1输出 2 1 (第2次输出)i = 2j = 2输出 2 2 (第3次输出)j = 1输出 100 1 (第4951次输出)j = 2输出 100 2
2、(第4952次输出)i = 100j = 100输出 100 100 (第5050次输出)for (i = 1; i = 100; i+) for (j = 1; j = i; j+) printf (%d %dn, i, j );二、for循环嵌套程序的运行机制与举例问题:每给定的一个i值,程序要打印?行(次)。两个循环全部结束后共需要打印?行(次)。答案:共需要打印:答案:共需要打印:1+2+3+100=5050次。次。【例例1179】求求1! + 2! + 1! + 2! + . + 100! . + 100! int i;double item=1; for (i = 1; i = n
3、; i+) item = item *i ; 用用for循环计算循环计算 n 的阶乘的阶乘用嵌套循环求用嵌套循环求n 的阶乘的和的阶乘的和int i,j;double sum=0,item;for(i = 1; i = 100; i+) item = 1; for (j = 1; j = i; j+) item = item * j; sum = sum + item; 分析嵌套循环的执行过程分析嵌套循环的执行过程for(i = 1; i = 100; i+) item = 1; for (j = 1; j = i; j+) item = item * j; sum = sum + item;
4、 n 对应于外层循环变量对应于外层循环变量 i 的每个值的每个值内层循环变量内层循环变量 j 从从1到到i变化一个轮变化一个轮次;次;n 内外层循环变量不能相同内外层循环变量不能相同分别用分别用 i 和和 j求求i!求求item的和的和三、for嵌套循环程序设计示例 (11791179)#include int main() int i, j;double item, sum; /* item 存放阶乘存放阶乘 */sum = 0; for (i = 1; i = 100; i+) item = 1; /*内层循环的初始化,每次求阶乘都从内层循环的初始化,每次求阶乘都从1开始开始 */ for
5、 (j = 1; j = i; j+) /* 内层循环算出内层循环算出 item = i! */ item = item * j; sum = sum + item; printf(1! + 2! + 3! + + 100! = %en, sum); return 0;问题:如果给定的不是一个固定数问题:如果给定的不是一个固定数100,而是一个可变的量而是一个可变的量n,程序怎么改?,程序怎么改?【例1315】 求500以内的素数个数与全部之和for (m = 2; m = 500; m+) if (m是素数)某个数某个数m是否素数的判定:是否素数的判定:n = sqrt(m);for(i =
6、 2; i n) printf(yesn)else printf(non”);对对500个数个数m的素数判定:的素数判定:for (m = 2; m = 500; m+) n=sqrt(m); for(i = 2; i n ) c o u n t + + ;sum=sum+m; 一定要用嵌套循环的方法才能实现要求。一定要用嵌套循环的方法才能实现要求。#include #include int main() int count, i, m, n,sum=0; count = 0; /* 用来记录素数的个数用来记录素数的个数*/ for (m = 2; m = 500; m+) n = sqrt(
7、m); /* 后面后面3行是对给定的行是对给定的m做素数测试做素数测试 计算计算*/ for (i = 2; i n) /* 对对m是素数情况处理是素数情况处理 */ sum=sum+m; count+; printf(%d %dn, count,sum); 题号:题号:1315【例】 古典算术问题搬砖头 某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。 问:用45人正好搬45块砖,有多少种搬法?(派工方法)分析:这是一个组合的问题,由三个因素决定搬法的种数。每类人的数量(待求的量);每类人能搬的砖块数量(已知的约束条件);砖块的总数和人数的总数(已知的约束条件)45块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- for 循环 语句 嵌套 程序 while 设计
限制150内