(实验4分支结构程序设计.docxVIP

  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文档。上传文档
查看更多
(实验4分支结构程序设计

姓名学号班级1.练习题一编写程序,计算练习一分段函数的值。用scanf函数输入x的值。运行程序时,分别按x的值小于0、x的值在0-15之间、x的值大于15三种情况输入数据,检查输出的y值是否正确。# include stdio.hint k=1;void test();//程序是否继续void main (){while (k==1){intx,y,c;printf(Input x:);scanf(%d,x);while ((c=getchar())!=\nc!=EOF);if (x0){ y=x+10;printf(x=%d,y=x+10=%d\n,x,y);}else if(x15) {y=3*x+5;printf(x=%d,y=3*x+5=%d\n,x,y);}else{y=2*x-10;printf(x=%d,y=2*x-10=%d\n,x,y);}test();}}void test(){ char c;printf(Test again?y/n\n);if ((c=getchar())==n||c==N)//只有当输入N或n时才终止程序k=0;}运行结果截图:思考题及问题:判断x的值在0-15之间可否使用表达式“0=x15”?为什么?正确的表示方法是什么?答案:不可。因为一个条件判断表达式中最多只能有一个运算符。正确的表示方法是x=0x15.2.练习题二输入3个数字,判断他们是否能构成三角形,如果不能,输出提示信息;否则判断它是直角、等边、等腰还是普通三角形。# include stdio.hint k=1;void test();void main(){ while(k==1){inta,b,c,d;printf(Input a,b,c:);scanf(%d,%d,%d,a,b,c);while ((d=getchar())!=\nc!=EOF);//清空输入缓存区if(!(a0b0c0a+bca+cbb+ca))printf(三条边无法构成三角形。\n);else if (a*a+b*b==c*c||a*a==b*b+c*c||b*b==a*a+c*c)printf(这是一个直角三角形\n); else if (a==bb==c)printf(这是一个等边三角形\n);else if (a==b||b==c||a==c)printf(这是一个等腰三角形\n);elseprintf(这是一个普通三角形\n);test();}}void test(){ char c;printf(Test again?y/n:);if ((c=getchar())==n||c==N)//只有当输入N或n时才终止程序k=0;}运行结果截图:思考题及问题:判断三角形的类型时需要用到各种判断条件,入等边三角形的判断条件是3条边相等,该判断条件可否描述为“a=b=c”?为什么?答案:不能,“=”在C语言中是赋值符号,在条件判断式中是一个永真式,会引起语义错误。练习题三编写一个程序,输出给定的某年某月的天数。要求:采用switch语句实现。程序代码:# include stdio.hvoid main(){intyear,mon,days,leap;printf(年.月:);scanf(%4d.%2d,year,mon);switch(mon){case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;case 2: if (year%4==0year%100!=0||year%400==0)leap =1;elseleap=0;if (leap)days=29;elsedays=28;}printf(%d年%d月的天数为%d天\n,year,mon,days);}运行结果截图:思考题及问题:本程序所给代码中的switch语句没有default语句可以吗?default语句应该在switch语句的什么位置?可以。Default语句可以在{}之间的任意位置。本程序所给代码中的最后一个case语句中,没有break正确吗?请解释。正确。在switch语句中,当找到符合条件的case时,执行该case语句及之后的其他情况的语句,故C语言会在case语句和default语句后加break;防止执行下面的语句。而最后一个case语句后无其他语句,故没有break语句也正确。自测练习一编写程序,计算逻辑表达式的值。假设int a=0,b=1,c=1,d=3;(1)表达式a*bc-d、c-da*b是多少?为什么?程序代码:# include stdio.hvoid main(){

文档评论(0)

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

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

1亿VIP精品文档

相关文档