chap3 C语言流程控制 - 副本.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chap3 C语言流程控制 - 副本

* 解此题的算法比上一题稍复杂一些。可以用伪代码写出算法:if a b 将a和b对换 (a是a,b中的小者) if a c 将a和c对换 (a是a,c中的小者,因此a是三者中最小者) if b c 将b和c对换 (b是b,c中的小者,也是三者中次小者) 然后顺序输出a,b,c即可。 按此算法编写程序:    运行结果如下 3,7,1 1, 3, 7 * 输入x 若 x 0 y = -1 否则: 若 x = 0 y = 0;若 x 0 y = 1 输出y。也可以用流程图表示,见图5.7。 * if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(90分以上为‘a’等,80~89分为‘b’等,70~79分为‘c’等……);人口统计分类(按年龄分为老、中、青、少、儿童);工资统计分类;银行存款分类……。 当然这些都可以用嵌套的if语句来处理,但如果分支较多,则嵌套的if语句层数多,程序冗长而且可读性降低。c语言提供Switch语句直接处理多分支选择, * if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(90分以上为‘a’等,80~89分为‘b’等,70~79分为‘c’等……);人口统计分类(按年龄分为老、中、青、少、儿童);工资统计分类;银行存款分类……。 当然这些都可以用嵌套的if语句来处理,但如果分支较多,则嵌套的if语句层数多,程序冗长而且可读性降低。c语言提供Switch语句直接处理多分支选择, 图5.7 有以下几个程序,请同学们判断哪个是正确的?   程序1:    main() { int x,y; scanf(%d,x); if(x<0) y=-1; else if(x==0) y=0;    else y=1; printf(x=%d,y=%d\n,x,y); } 程序2: 将上面程序的if语句(第4~6行)改为:  if (x>=0) if (x>0) y= 1;   else y= 0; else y=-1; 例3-5 写程序,判断某一年是否闰年。(p52) 以变量leap代表是否闰年的信息。若某年为闰年,则令leap=1;若为非闰年,令leap=0。最后判断leap是否为1(真),若是,则输出“闰年”信息。 图5.13 据此编写程序如下:   main() { int year, leap; scanf(%d,year); if (year%4==0)   {if (year%100==0) {if (year%400==0)    leap=1; else leap=0;}   else leap=1;} else   leap=0; if (leap)   printf(%d is ,year); else   printf(%d is not ,year); printf(a leap year.\n); }        例3.7求ax2+bx+c=0方程的解。 有以下几种可能:   ① a=0,不是二次方程。   ② b2-4ac=0,有两个相等实根。   ③ b2-4ac>0,有两个不等实根。   ④ b2-4ac<0,有两个共轭复根。 图5.14 据此编写程序如下:  #includemath.h main() { float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf(%f,%f,%f,a,b,c); printf(The equation); if(fabs(a)<=1e-6)  

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档