- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C语言程序设计》课件PPT04 控制结构2-循环控制
【例1】输入三个整数,输出最大数和最小数。 方法:先比较a和b,较大值存入max,较小值存入min, 比较c和max以及min的大小关系,修正min和max int main(){ int a,b,c,max,min; printf(input three numbers: ); scanf(%d%d%d,a,b,c); if(ab) {max=a;min=b;} else {max=b;min=a;} if(maxc) max=c; else if(minc) min=c; printf(max=%d\nmin=%d,max,min); } 【例2】计算器程序。用户输入运算数和四则运算符,输出计算结果。 switch语句用于判断运算符,然后输出运算值。 当输入运算符不是+,-,*,/时给出错误提示 int main(){ float a,b; char c; printf(input expression: a+(-,*,/)b \n); scanf(%f%c%f,a,c,b); switch(c){ case +: printf(%f\n,a+b);break; case -: printf(%f\n,a-b);break; case *: printf(%f\n,a*b);break; case /: printf(%f\n,a/b);break; default: printf(input error\n); } } 【例3】判断m是否素数。 #includemath.h #includestdio.h int main() { int m,i,k; scanf(“%d”,m); k=sqrt(m); for(i=2;i=k;i++) if(m%i==0)break; if(i=k+1) printf(“%d is a prime number\n”,m); else printf(“%d is not a prime number\n”,m); } 【例3】判断m是否素数: 编程思路 算法:判断正整数m是否是素数,只要测试 (1, m )区间有没有m的因子(约数)。设置循环,穷尽测试从2到m-1,若都不是m的约数,则m是素数。 算法优化:实际上循环时不必遍历2到m-1,假如m有约数,则约数在区间内是成对出现的,且分别在[2, √m],和[√m, m-1]中。如果在[2, √m]中没有m的约数,则在[√m, m-1]中也没有,因此测试约数只需遍历[2, √m]区间。这样优化使得循环次数大幅减少。 举例来说,m=16, √m=4,16=2*8,2和8分布在[2,4]、[4,15]两个区间. 找到了2 这个约数,即可判定m非素数,不必找到8. 【例3 续】求100至200间的全部素数 #includemath.h main() { int m,i,k,n=0; for(m=101;m=200;m=m+2) { k=sqrt(m); for(i=2;i=k;i++) if(m%i==0)break; if(i=k+1) { printf(“%d”,m); n=n+1; } if(n%10==0)printf(“\n”); } printf(“\n”); } 【例4】用公式求π: #includemath.h int main() { int s; float n,t,pi; t=1,pi=0;n=1.0;s=1; while(fabs(t)1e-6) {pi=pi+t; n=n+2; s=-s; t=s/n; } pi=pi*4; printf(pi=%10.6f\n,pi); } 求最大公约数和最小公倍数 【例5】 求最大公约数和最小公倍数 【例5】求最大公约数(循环求余) #include stdio.h int main() { int a, b, t, x; printf(intput 2 positive numbers: ); scanf(%d %d, a, b); printf(\nGreatest common devisor of
您可能关注的文档
- U.S. Federal Government Outsourcing Initiatives, Implementation and Benefits(2005年公共管理国际会议论文).doc
- Télécharger - Lobligation de conseil des prestataires de services.doc
- UML学习入门.doc
- UML面向对象分析与建模.doc
- UNIX操作系统培训课件PPT.ppt
- User Acceptance An Appraisal model research on E-Government services(2005年公共管理国际会议论文).doc
- USSD移动增值业务.doc
- Virus-Enabled Synthesis and Assembly of Nanowires for Lithium Ion Battery Electrodes-材料合成化学课件PPT.ppt
- Visual FoxPro数据库操作基础.ppt
- VLS方法制备纳米线-材料合成化学课件PPT.ppt
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)