单重循环应用PPT演示课件_第1页
单重循环应用PPT演示课件_第2页
单重循环应用PPT演示课件_第3页
单重循环应用PPT演示课件_第4页
单重循环应用PPT演示课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆邮电大学计算机科学与技术学院冯潇fengxiao,单重循环程序设计,1,2020/5/18,分为if和ifelse两种if形式:if(表达式)语句;ifelse形式if(表达式)语句1;else语句2;根据表达式的值为0或非0决定程序执行流向,利用if-else语句构建分支结构,2020/5/18,格式,if-else的嵌套,2020/5/18,格式:,多分支处理语句switch,switch(表达式)case常量表达式1:语句1;break;case常量表达式2:语句2;break;case常量表达式n:语句n;break;default:语句n+1,说明:switch语句后表达式的值可以是整型、字符型、枚举型,2020/5/18,主要内容,循环的3种基本表示自增、自减运算符和逗号表达式利用循环设计累加和累乘算法穷举法、递推法和迭代法的实现,2020/5/18,重点i+=1;Step3、输出sum,2020/5/18,循环结构,在满足一定条件的范围内,重复执行的程序段称为循环结构循环结构分为当型循环直到型循环,2020/5/18,当型循环,2020/5/18,直到型循环,2020/5/18,循环结构控制语句1-while,while循环格式:while(表达式)循环体,2020/5/18,while语句求解高斯问题,intmain()inti=1,sum=0;while(i=100)sum+=i;/*实现累加求和*/i+=1;/*i+;*/printf(“sumis%d”,sum);return0;,2020/5/18,增1和减1运算符,n+,n-,+n,-n+让参与运算的变量加1,-让参与运算的变量减1作为后缀运算符时,先取n的值,然后加/减1作为前缀运算符时,先加/减1,然后取n的值m=n+;等价于m=n;n+;m=+n;等价于n+;m=n;,2020/5/18,do-while循环格式:do循环体while(表达式);,循环结构控制语句2do-while,2020/5/18,do-while求解高斯问题,intmain()inti=1,sum=0;dosum+=i;i+;while(i=100);printf(“sumis%d”,sum);return0;,2020/5/18,循环结构控制语句3for,格式:for(表达式1;表达式2;表达式3)循环体表达式1一般为循环变量赋初值,可以为任何表达式类型表达式2用于判断循环是否结束表达式3实现循环变量的累加。3个表达式都可以省略,但分号不能省。表达式2省略,代表循环条件永远为真,2020/5/18,for求解高斯问题,#includeintmain()inti=1,sum=0;for(;i=100;i+)sum+=i;printf(“sumis%d”,sum);return0;,#includeintmain()inti=1,sum=0;for(;i=100;sum+=i,i+);printf(“sumis%d”,sum);return0;,for(;i=100;i+,sum+=i),2020/5/18,三种循环结构的比较,与for语句等价的while语句形式:表达式1while(表达式2)循环体语句表达式3,2020/5/18,与for语句等价的do-while语句形式:表达式1do循环体语句表达式3while(表达式2)三种循环结构原则上可以互换习惯上,循环次数事先已知的程序用for语句,循环次数未知的用while语句或者do-while语句,2020/5/18,累加器、累乘器的设计,累加器inti,sum=0;for(i=1;i=100;i+)sum+=i;累乘器inti;doublesum=1;for(i=1;ib,循环找出第一个i满足a*i%b=0,循环找出一个i满足a%i=0scanf(%d,%d,#includevoidmain()inta,b,num1,num2,r,temp;printf(Pleaseinputtwonumbers:n);scanf(%d%d,解法二:迭代法,2020/5/18,素数问题,从键盘上输入一个数,编程判断该数是否是素数。如果是,输出“Yes!”,否则,输出“No!”分析从键盘上键入一个数m判断该数的正负,如果是负数,则退出程序计算k=sqrt(m)循环变量i从2变化到k,依次检查m%i是否为0若m%i为0,则判定m不是素数,中止循环,否则遍历所有i值后退出循环,这时判定m是素数,2020/5/18,解法一,#include#include#includevoidmain()intm,i,k;printf(Pleaseenteranumber:);scanf(“%d”,/*计算m的平方根*/,2020/5/18,for(i=2;ik)printf(Yes!n);elseprintf(No!n);printf(Programisover!n);,2020/5/18,break和continue,对for、while、do-while循环进行内部手术break,退出循环continue,中断此次循环体的执行,开始下一次break和continue少用为妙,2020/5/18,作业,一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?参考答案:299.609375m,0.097656m找出100-999范围内所有的水仙花数水仙花数是指一个n位数(n3),它的每个位上的数字的n次幂之和等于它本身。(例如:13+53+33=153)4.12题,2020/5/18,低难度大作业,在10000以内验证哥德巴赫猜想之“1+1”命题:任意大的偶数,都可以表示为两个素数之和按照如下格式打印100以内整数的平方根表,2020/5/18,平方根表作业提示,第一行为单独打印的表头表内第一行打印0-9的平方根第二行打印10-19的平方根第10行打印90-99的平方根设表的行数有x行,列数有y列,则对应第x行第x列的表值为sqrt(x*10+y),2020/5/18,高难度大作业,Turnthecorner:Mr.Westboughtanewcar!Soheistravellingaroundthecity.Onedayhecomestoaverticalcorner.Thestreetheiscurrentlyinhasawidthx,thestreethewantstoturntohasawidthy.Thecarhasalengthlandawidthd.CanMr.Westgoacrossthecorner?Inputfourrealnumbers,x,y,landw.OutputIfhecangoacrossthecorner,printyes.Printnootherwise.SampleInput10613.5410614.54SampleOutputyesno,2020/5/18,打印万年历,打印万年历,已知1900年1月1日是星期一,2020/5/18,约瑟夫环,编号为1,2,3,n的n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论