循环结构程序设计典型例题ppt课件.ppt
《循环结构程序设计典型例题ppt课件.ppt》由会员分享,可在线阅读,更多相关《循环结构程序设计典型例题ppt课件.ppt(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1 例例1 在全系在全系1000学生中,征集慈善募学生中,征集慈善募捐,当总数达到捐,当总数达到10万元时就结束,统万元时就结束,统计此时捐款的人数,以及平均每人捐计此时捐款的人数,以及平均每人捐款的数目。款的数目。2编程思路:编程思路:u循环次数不确定,循环次数不确定,但最多循环但最多循环1000次次l在循环体中累计捐款总数在循环体中累计捐款总数l用用if语句检查是否达到语句检查是否达到10万元万元l如果达到就不再继续执行循环,终止累加如果达到就不再继续执行循环,终止累加u计算计算人均捐款数人均捐款数3编程思路:编程思路:u变量变量amount,用来存放捐款数,用来存放捐款数u变量变量tot
2、al,用来存放累加后的总捐款数,用来存放累加后的总捐款数u变量变量aver,用来存放人均捐款数,用来存放人均捐款数u定义符号常量定义符号常量SUM代表代表1000004#include #define SUM 100000void main() float amount,aver,total; int i; for (i=1,total=0;i=SUM) break; aver=total / i ; printf(“num=%dnaver=%10.2fn“ ,i,aver); 指定符号常量指定符号常量SUM代表代表1000005#include #define SUM 100000void
3、main() float amount,aver,total; int i; for (i=1,total=0;i=SUM) break; aver=total / i ; printf(“num=%dnaver=%10.2fn“ ,i,aver); 应该执行应该执行1000次次6#include #define SUM 100000void main() float amount,aver,total; int i; for (i=1,total=0;i=SUM) break; aver=total / i ; printf(“num=%dnaver=%10.2fn“ ,i,aver); 达
4、到达到10万,万,提前结束循环提前结束循环7#include #define SUM 100000void main() float amount,aver,total; int i; for (i=1,total=0;i=SUM) break; aver=total / i ; printf(“num=%dnaver=%10.2fn“ ,i,aver); 实际捐款人数实际捐款人数8#include #define SUM 100000void main() float amount,aver,total; int i; for (i=1,total=0;i=SUM) break; aver=
5、total / i ; printf(“num=%dnaver=%10.2fn“ ,i,aver); 只能用于循环语句和只能用于循环语句和switch语句之中,而不能语句之中,而不能单独单独使用使用9 例例2 要求输出要求输出100200之间的不能被之间的不能被3整除的数。整除的数。编程思路:编程思路:u对对100到到200之间的每一个整数进行检查之间的每一个整数进行检查u如果不能被如果不能被3整除,输出,整除,输出,否则否则不输出不输出u无论是否输出此数,都要接着检查下一个无论是否输出此数,都要接着检查下一个数数(直到直到200为止为止)。10Nn=100n200Yn能被能被3整除整除Nn=
6、n+1输出输出nYfor(n=100;n=200;n+) if (n%3=0) continue; printf(%d ,n); 11continue语句只结束本次循环,而不语句只结束本次循环,而不是终止整个循环的执行是终止整个循环的执行break语句结束整个循环过程,不再判语句结束整个循环过程,不再判断执行循环的条件是否成立断执行循环的条件是否成立12N表达式表达式1Y表达式表达式2NYN表达式表达式1Y表达式表达式2NYbreak语句语句continue语句语句强行退出循环强行退出循环只结束本次循环只结束本次循环13例例3 输出以下输出以下4*5的矩阵。的矩阵。 1 2 3 4 5 2 4
7、 6 8 10 3 6 9 12 15 4 8 12 16 2014解题思路:解题思路:u可以用循环的嵌套来处理此问题可以用循环的嵌套来处理此问题u用外循环来输出一行数据用外循环来输出一行数据u用内循环来输出一列数据用内循环来输出一列数据u按按矩阵的格式矩阵的格式(每行每行5个数据个数据)输出输出15#include void main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j); printf(n); 累计输出数据的个数累计输出数据的个数控制控制一行
8、内一行内输输出出5个数据个数据16#include void main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j); printf(n);双重循环双重循环17#include void main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j); printf(n);控制输出控制输出4行行18#include voi
9、d main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j); printf(n);控制每行中输控制每行中输出出5个数据个数据19#include void main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j); printf(n);i=1时时j由由1变到变到5i*j的值是的值是1,2,3,4,520#includ
10、e void main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j); printf(n);i=2时时j也也由由1变到变到5i*j的值是的值是2,4,6,8,10如何修改程序,不输如何修改程序,不输出第一行的空行?出第一行的空行?21#include void main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j)
11、; printf(n);if (i=3 & j=1) break; 遇到第遇到第3行第行第1列,列,终止内循环终止内循环22#include void main() int i,j,n=0; for (i=1;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (“n”); printf (%dt,i*j); printf(n);if (i=3 & j=1) continue; 原来第原来第3行第行第1个个数据数据3没有输出没有输出23 例例4 用用 公式求公式求 的近似值的近似值,直到发现某一项的绝对值小于,直到发现某一项的绝对值小于10-6 为止为止
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序设计 典型 例题 ppt 课件
限制150内