欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    循环结构程序设计典型例题ppt课件.ppt

    • 资源ID:1967208       资源大小:896KB        全文页数:48页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    循环结构程序设计典型例题ppt课件.ppt

    1,循环结构程序设计典型例题,例1 在全系1000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。,2,编程思路:循环次数不确定,但最多循环1000次在循环体中累计捐款总数用if语句检查是否达到10万元如果达到就不再继续执行循环,终止累加计算人均捐款数,3,编程思路:变量amount,用来存放捐款数变量total,用来存放累加后的总捐款数变量aver,用来存放人均捐款数定义符号常量SUM代表100000,4,#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代表100000,5,#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); ,应该执行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); ,达到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=total / i ; printf(“num=%dnaver=%10.2fn“ ,i,aver); ,只能用于循环语句和switch语句之中,而不能单独使用,9,例2 要求输出100200之间的不能被3整除的数。编程思路:对100到200之间的每一个整数进行检查如果不能被3整除,输出,否则不输出无论是否输出此数,都要接着检查下一个数(直到200为止)。,10,N,n=100,n200,Y,n能被3整除,N,n=n+1,输出n,Y,for(n=100;n=200;n+) if (n%3=0) continue; printf(%d ,n); ,11,*break语句和continue语句的区别,continue语句只结束本次循环,而不是终止整个循环的执行break语句结束整个循环过程,不再判断执行循环的条件是否成立,12,N,表达式1,Y,表达式2,N,Y,N,表达式1,Y,表达式2,N,Y,break语句,continue语句,强行退出循环,只结束本次循环,13,例3 输出以下4*5的矩阵。 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20,14,解题思路:可以用循环的嵌套来处理此问题用外循环来输出一行数据用内循环来输出一列数据按矩阵的格式(每行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); ,累计输出数据的个数,控制一行内输出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 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);,控制每行中输出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,5,20,#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=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); printf(n);,if (i=3 ,遇到第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 ,原来第3行第1个数据3没有输出,23,例4 用 公式求 的近似值,直到发现某一项的绝对值小于10-6 为止(该项不累计加)。(教材P96 例 4.21 )(教材P98 例 4.24 )(教材P101 例 4.27 ),24,解题思路:求 近似值的方法很多,本题是一种其他方法:,25,每项的分子都是1后一项的分母是前一项的分母加2第1项的符号为正,从第2项起,每一项的符号与前一项的符号相反,26,#include #include void main() int sign=1; double pi=0,n=1,term=1; while(fabs(term)=1e-6) pi=pi+term; n=n+2; sign=-sign; term=sign/n; pi=pi*4; printf(pi=%10.8fn,pi); ,求绝对值的函数,只保证前5位小数是准确的,27,#include #include void main() int sign=1; double pi=0,n=1,term=1; while(fabs(term)=1e-6) pi=pi+term; n=n+2; sign=-sign; term=sign/n; pi=pi*4; printf(pi=%10.8fn,pi); ,改为1e-8,28,例5 求费波那西(Fibonacci)数列的前40个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。即:,29,这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?,30,31,32,#include void main() int f1=1,f2=1,f3; int i; printf(%12dn%12dn,f1,f2); for(i=1; i=38; i+) f3=f1+f2; printf(%12dn,f3); f1=f2; f2=f3; ,代码可改进,33,#include void main() int f1=1,f2=1; int i; for(i=1; i=20; i+) printf(%12d %12d ,f1,f2); if(i%2=0) printf(n); f1=f1+f2; f2=f2+f1; ,34,例6 输入一个大于3的整数n,判定它是否素数(prime,又称质数)。解题思路:让n被i整除(i的值从2变到n-1)如果n能被2(n-1)之中任何一个整数整除,则表示n肯定不是素数,不必再继续被后面的整数除,因此,可以提前结束循环注意:此时i的值必然小于n,35,N,N,Y,n=i+1,输入n,i=2,i n-1,Y,n被i整除,i a,输出不是素数,Y,输出是素数,N,36,#include void main() int n,i; printf(“n=?); scanf(%d,37,#include void main() int n,i; printf(“n=?); scanf(%d,k=sqrt(n);,38,#include void main() int n,i,k; printf(“n=?); scanf(%d,k=sqrt(n);,#include ,39,#include void main() int n,i,k; printf(“n=?); scanf(%d,k=sqrt(n);,#include ,40,例7 求100200间的全部素数。解题思路:使用例5.9的算法在例5.9程序中只要增加一个外循环,先后对100200间的全部整数一一进行判定即可,41,for(n=101;n=k+1) printf(%d ,n); m=m+1; if(m%10=0) printf(“n”); ,只对奇数进行检查,控制每行输出10个数据,42,例8 译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。A B C D E F G W X Y Z非字母字符保持原状不变输入一行字符,要求输出其相应的密码,43,解题思路:问题的关键有两个: (1) 决定哪些字符不需要改变,哪些字符需要改变,如果需要改变,应改为哪个字符处理的方法是:输入一个字符给字符变量c,先判定它是否字母(包括大小写),若不是字母,不改变c的值;若是字母,则还要检查它是否W到Z的范围内(包括大小写字母)。如不在此范围内,则使变量c的值改变为其后第4个字母。如果在W到Z的范围内,则应将它转换为AD(或ad)之一的字母。,c=getchar();,44,解题思路:问题的关键有两个: (1) 决定哪些字符不需要改变,哪些字符需要改变,如果需要改变,应改为哪个字符处理的方法是:输入一个字符给字符变量c,先判定它是否字母(包括大小写),若不是字母,不改变c的值;若是字母,则还要检查它是否W到Z的范围内(包括大小写字母)。如不在此范围内,则使变量c的值改变为其后第4个字母。如果在W到Z的范围内,则应将它转换为AD(或ad)之一的字母。,if(c=a & c=A & c=Z),45,解题思路:问题的关键有两个: (1) 决定哪些字符不需要改变,哪些字符需要改变,如果需要改变,应改为哪个字符处理的方法是:输入一个字符给字符变量c,先判定它是否字母(包括大小写),若不是字母,不改变c的值;若是字母,则还要检查它是否W到Z的范围内(包括大小写字母)。如不在此范围内,则使变量c的值改变为其后第4个字母。如果在W到Z的范围内,则应将它转换为AD(或ad)之一的字母。,if(c=W ,46,解题思路:问题的关键有两个: (2) 怎样使c改变为所指定的字母?办法是改变它的ASCII值例如字符变量c的原值是大写字母A,想使c的值改变为E,只需执行“c=c+4”即可,因为A的ASCII值为65,而E 的ASCII值为69,二者相差4,47,char c;c=getchar(); while(c!=n) if(c=a ,可以改进程序,48,char c;while(c=getchar()!=n) if(c=A ,不能少,

    注意事项

    本文(循环结构程序设计典型例题ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开