- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 结构化程序设计大学课件自学教程
3.5 编程实例 else if(d1.0e-6) /*判断变量d的值是否大于0 */ { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf(有两个不相等的实根:\n ); printf( x1=%8.4f and x2=%8.4f \n ,x1,x2); } else { p= -b/(2*a); q=sqrt(-d)/(2*a); printf(有两个共轭复根:\n ); printf( x1=%8.4f +%8.4f i \n ,p,q); printf( x2=%8.4f -%8.4f i \n ,p,q); } } } 3.1结构化程序设计的思想及流程图 3.2 顺序结构 3.3 选择结构 3.4 循环结构 3.5 编程实例 目 录 3.5 编程实例 【说明】 (1)程序中加上了一个头文件“math.h”是因为使用平方根函数sqrt和求绝对值函数fabs时需要该头文件。 (2)为了检验该程序是否能求出4种解,分别针对解的4种可能性设计了4组数据,以便程序的每一个分支都能执行到。程序运行结果如下: 结果一:输入系数a,b,c=0,1,2↙ 方程不是一个二次方程。 结果二:输入系数a,b,c=1,2,1↙ 方程有两个相等的实根: x1,x2= -1.0000 结果三:输入系数a,b,c=1,3,1↙ 方程有两个不相等的实根: x1= -0.3820 and x2= -2.6180 3.1结构化程序设计的思想及流程图 3.2 顺序结构 3.3 选择结构 3.4 循环结构 3.5 编程实例 目 录 3.5 编程实例 【说明】 结果四:输入系数a,b,c=1,3,5↙ 方程有两个共轭虚根: x1= -1.5000+1.6583 i x2= -1.5000- 1.6583 i (3)程序中用到了求平方根函数sqrt()和求绝对值函数fabs()。由于实数在计算和存储时会有一些微小的误差,因此不能直接判断d== 0,而是判断d是否小于一个很小的数(如10-6),如果小于此数,就认为d等于0。 (4)此例中主要的结构是条件语句的嵌套,请注意条件语句在嵌套使用时if与else的相配对问题。 3.1结构化程序设计的思想及流程图 3.2 顺序结构 3.3 选择结构 3.4 循环结构 3.5 编程实例 目 录 3.5 编程实例 【例3.13】安排轮休:某公司有7位保安:A、B、C、D、E、F、G。为了工作需要,每人每周只能轮休一天,考虑每个人的特殊情况,让他们选择自己希望哪一天轮休。他们的选择如下: A:星期二、四; B:星期一、六; C:星期三、日; D:星期五; E:星期一、四、六; F:星期二、五; G:星期三、六、日 请编程实现能使所有保安满意的轮休表。 3.1结构化程序设计的思想及流程图 3.2 顺序结构 3.3 选择结构 3.4 循环结构 3.5 编程实例 目 录 3.5 编程实例 【分析】 (1)本题的基本框架 定义七个整型变量a、b、c、d、e、f、g分别代表七位保安在哪一天轮休,本题的基本框架就是对所有可能的值进行穷举,找出满足条件的所有解来,简单地说就是一个七层嵌套的循环结构: for(a=1;a=7;a++) for(b=1;b=7;b++) … for(g=1;g=7;g=c++) 3.1结构化程序设计的思想及流程图 3.2 顺序结构 3.3 选择结构 3.4 循环结构 3.5 编程实例 目 录 3.5 编程实例 【分析】 (2)穷举过程的细化 根据每人提出的条件,循环的初值、终值和增量不同,嵌套的循环结构修改如下: for(a=2;a=4;a+=2) for(b=1;b=6;b+=5) for(c=3;c=7;c+=4) d=5; for(e=1;e=6;e++) for(f=2;f=5;f+=3) for(g=3;g=7;g++) 由于7个保安不能在同一天休息,也就是a、b、c、d、e、f、g的值不能相等。 3.1结构化程序设计的思想及流程图 3.2 顺序结构 3.3 选择结
文档评论(0)