- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环结构练习
单击此处编辑母版标题样式 第4章 循环结构练习 用3种循环结构写同一道程序! 编写程序求1+2+3+…+100的和 【例4-1】编写程序求1+2+3+…+100的和。 #include stdio.h void main() { int sum=0,i=1; while(i=100) {sum=sum+i; i=i+1; } printf(sum=%d\n,sum); } #include stdio.h void main() { int sum=0,i=1; do { sum=sum+i; i=i+1; } while(i=100); printf(sum=%d\n,sum); } 【例4-6】编写程序求1+2+3+…+100的和。 #include stdio.h void main() { int sum=0,i; for(i=1;i=100;i++) sum=sum+i; printf(sum=%d\n,sum); } 同一个程序的不同种写法 #include math.h void main(void) { double sum=0,pi,c; //c为当前项 int n=1; //n为循环控制变量 while (n=100) { c=pow(-1,n+1)/(2*n-1); sum=sum+c; //求和 n++; } pi=4*sum; printf(pi=%lf\n,pi);} 问题: 1)如果不调用数学函数pow(),能否采用其它方式来控制每一项的符号位? int s=1; c=s*1.0/(2*n-1); s=-s; 求和 #include stdio.h #include math.h void main(void) { double sum=0,pi,c=1; //c为当前项 int n=1,s=1; while (fabs(c)=1e-6) { c=s*1.0/(2*n-1); sum=sum+c; s=-s; n++; } pi=4*sum; printf(pi=%lf\n,pi); } 2如果题目不指定计算的项数,而是根据精度要求计算到某一项为止,如计算到最后一项的绝对值小于10-6 为止,程序应如何修改? 求和 例题 从键盘输入若干个学生的成绩(学生人数未知),输入负数时表示输入结束,计算总分。 求和 第2节课 算法! 穷举 递推 最值、排序 查找、统计 【例4-2】小红今年12岁,她父亲比她大30岁,编程计算:多少年后她父亲的年龄是她的年龄的2倍 ,此时她的年龄是多少? #include stdio.h void main (void) { int x=12,y=42,m; while(2*x!=y) { x++; y++; } m=x-12; printf(经过的年数:%d,小红的年龄:%d,小红父亲的年龄:%d \n,m,x,y); } 穷举 【例4-3】 编程输出1~200之间所有用3除余2、且用5除余3的数。 #include stdio.h void main() { int i; for(i=1;i=200;i++) {if((i%3==2) (i%5==3)) printf(%d ,i); } } 穷举 【例4-4】鸡兔同笼问题。已知笼中鸡和兔共100只,共有274只脚,求鸡和兔各有多少只? #include stdio.h void main(void) { int a=1,b; //a和b分别表示鸡和兔的数量 while(a100) { b=100-a; if(a*2+b*4==274) printf(鸡有:%d只,兔有:%d只\n,a,b); a++; }} 穷举 【例4-10】 输出所有水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例:153=13+53+33 #include stdio.h void main() { int m,bai,shi,ge; // bai、shi、ge分别对应百位、十位和个位 for(m=100;m=999;m++) { bai=m/100; shi=(m%100)/10; ge=m%10; if(m==bai*bai*bai+shi*shi*shi+ge*ge*ge) printf(%d ,m); }} 穷举 【例4-13】从键盘输入一个正整数,判断该数是否为素数。 #includestdio.h void main() { int i,m; scanf(%d,m); for(i=2;i=m-1;i
您可能关注的文档
最近下载
- 成都市2024~2025学年度上期高二期末考试 地理试卷(含答案).pdf
- 中考数学模型专题2.2费马点与加权费马点详细总结(含答案).pdf VIP
- 青春期生理卫生知识生理篇完整版PPT.pptx VIP
- 苏宁集团绿色包装发展情况.docx
- 2024年西安交大少年班选拔考试语文试卷试题(含答案详解).pdf VIP
- AP微观经济学 2019年真题 (选择题+问答题) AP Microeconomics 2019 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 《机械工程测试技术基础(第4版)》配套教学课件.ppt
- 矿山股权矿权转让居间合同--大字版文档.docx VIP
- 高考志愿填报师资格考试题库(浓缩500题).pdf VIP
- 2024年安徽省黄山市单招职业适应性测试题库(典型题).docx VIP
文档评论(0)