C语言程序设计(第3版)何钦铭-颜-晖---分支结构

上传人:豆*** 文档编号:201717892 上传时间:2023-04-20 格式:DOC 页数:17 大小:51.50KB
收藏 版权申诉 举报 下载
C语言程序设计(第3版)何钦铭-颜-晖---分支结构_第1页
第1页 / 共17页
C语言程序设计(第3版)何钦铭-颜-晖---分支结构_第2页
第2页 / 共17页
C语言程序设计(第3版)何钦铭-颜-晖---分支结构_第3页
第3页 / 共17页
资源描述:

《C语言程序设计(第3版)何钦铭-颜-晖---分支结构》由会员分享,可在线阅读,更多相关《C语言程序设计(第3版)何钦铭-颜-晖---分支结构(17页珍藏版)》请在装配图网上搜索。

1、第3章 分支构造【练习3-1】例 3-中使用 elei语句求解多分段函数,为了检查 e-f 语句的三个分支与否对的,已经设计了三组测试用例,请问还需要增长测试用例吗?为什么?如果要增长,请给出具体的测试用例并运营程序。解答:最佳再增长两组测试用例,由于尚未对分段函数参数的边界值进行测试。可再给出x=0和= 时的两种状况。【练习 3-2】计算符号函数的值: 输入一种整数 x,计算并输出下列分段函数 si(x)的值。 - x0解答:#nlud int main(vid) it , ; pritf(nter : );canf(,&x);if(x0) y=1;elseif(x=0)=0;els y-1

2、;rintf(sign( d )= %d,y);return 0;【练习 3-3】记录学生平均成绩与及格人数:输入一种正整数 n,再输入 个学生的成绩,计算平均成绩,并记录所有及格学生的人数。试编写相应程序。解答:# cude int ai(vid) it co, i,n; doublegrde, ol; rintf(Enern:); sanf(d, &n); ttl = 0; cut =0; for( ; 60) cout+; intf(Gdverage %.f, tota / n); rintf(Nue ofpa = %dn, cout); return0;【练习 -】记录字符:输入0 个

3、字符,记录其中英文字母、空格或回车、数字字符和其她字符的个数。试编写相应程序。解答:inde stdio. ain(void) int i; nt bln, digt,leter,otr; hr c;blank = diit= ee= ohe =0; for(1;i=a & c = & = Z)letter+;se if(c=0& = 9)digt+;else f(c= |c=n)blnk+;eleher+;rn(tter=%d,bnk=,diit%d,oher=%d, lette, ba, digit, other);retrn 0;【练习35】输出闰年:输出21世纪中截至某个年份之前的所有

4、闰年年份。判断闰年的条件是:能被整除但不能被100整除,或者能被0整除。试编写相应程序。解答:# includ nt min(oid) int ear; pintf(Etr yar: ); snf(%d,&ya);or(;ye;yea-)i( (year % 4 =0 & er% 10 ! 0) |yea% 400 = 0) prin(I is a lep arn); elspif(It is ot ep yean ); rtu0;【练习 3-6】在例-8 程序中,如果把sitch语句中所有的break都去掉,运营成果会变化吗?如果有变化,输出什么?为什么?解答:如果去掉所有的 rak语句,运

5、营成果会变化,输出 price = 0,由于不管 coice 值与其中某个常量体现式相等,当去掉brea 语句时,其后的所有语句段都将运营,故每次都将执行到pc=0 语句为止。【练习 7】成绩转换:输入一种百分制成绩,将其转换为五分制成绩。百分制成绩到五分制成绩的转换规则:不小于或等于90分为A,不不小于90分且不小于或等于80分为B,不不小于0分且不小于或等于70分为C,不不小于70分且不小于或等于60分为D,不不小于60分为。试编写相应程序。解答:#iude sdi.hint main(void) doublegrade;print(Inu rade:); san(“lf”,&grd);

6、If(ga90) ritf(A); else if(grae=80) prif(B);elseif(ga=70) rintf(C);elsi(gade=60) print(D);el prinf(); retrn 0;或#inlude nt main(oid) oble score; charde; printf(Inpt your scor: ); scanf(,&scre); swith(in(scre/10)) case 0: cae 9: grade ;brea; cas8: gad=; break; se 7: gade=; break;cae 6: gr=;brea;deault:

7、 grd=E; ra; pritf(Yourgrade i:%,grade); eturn;【练习 -8】查询水果的单价:有 4种水果,苹果(apes)、梨(pears)、桔子(oranges)和葡萄(gras),单价分别是 3.00 元公斤,.5 元/公斤,4.1元/公斤和 10.20 元公斤。在屏幕上显示如下菜单(编号和选项),顾客可以持续查询水果的单价,当查询次数超过 次时,自动退出查询;不到 5 次时,顾客可以选择退出。当顾客输入编号 14,显示相应水果的单价(保存两位小数);输入 ,退出查询;输入其她编号,显示价格为 0。试编写相应程序。1 aple2 parsones4 rpes0

8、Exit解答:#cludtdi.it main(void) intr; it choie; floapice; for(ri=1; r=; r+)prinf(1appen);printf(2 pasn);printf(3 orngs);print( grapesn);ritf(0 Exitn);scanf(%d,&hoe);if(choice=0)reak;else swic(chie)ce : prce=300; break;cse : prie=2.5; reak;cas : prie=4.1;brak;case 4: pr0.2;break;default: price=0;reak;

9、prntf(prie%0.2fn, prie);retun0;【练习3-】 请读者重新编写例 34 的程序,规定使用嵌套的 i - els 语句,并上机运营。解答:#inclue 15)y = 25 * 10.5; lse if(x0)=0;else=*x3; pit((%.2f)=.2fn, x, ); retur;【练习3-0】在例 3-12 中,改写i 语句前,yx + ;和 y=x + 2; 两条语句的执行条件是什么?改写后呢?解答:改写前:y=x+1 的执行条件是 1; y=x+2 的执行条件是 x2。改写后:y=x的执行条件是 x1; x2 的执行条件是2x。习题3一.选择题能对的

10、表达逻辑关系:“a10 或 a”的C 语言体现式是 D 。A.a = 10 o a= | = & a 10|a 0.有一函数 y= 0 , 如下程序段中错误的是 C 。 -1 x ) y = 1; .y=;ls f( =0) =; if() y=1;se y = 1; el if(x=0)if(x = 0); if(x) y;i(0) y=1; else y=0; ele y= -; es y=-1;5.下列程序段的输出成果是 C 。in ma(oid) t =,-1,=2; if(a) i( 0) = s 1;if(a b) t= s t;lse f(a = b) t =5;els t =2

11、 * s;pritf(t=%dn,t); return0;A a B.a0 C0a二、填空题.表达条件:10x100或者x10&x10)| (a 的值为 0 。3.若从键盘输入 5,则如下程序段的输出成果是 58588 。int ain(void)in a;scanf(%d,&a);f(a 5) pintf(d,a);if( 40) rintf(%d,a);if(a ) printf(%d,); eturn 0;4下列程序运营的输出成果是 9 。nt ai(void)chr = b;int k= 4;swit(c) cas a: k = k +1;brak;cas : k = k 2;asec

12、: k k + 3;rintf(%n,k); eurn0;三 程序设计题1. 比较大小:输入3个整数,按从小到大的顺序输出。试编写相应程序。解答:#inludestdio.hnt main(void)int a,b,c;ca p=b)if(c)pritf(%d%cd%c%d,c,p,b,op,a);elef(c)printf(%d%c%d%d,b,op,c,p,);ese printf(%d%d,b,op,a,op,c);lsei(ac)prntf(%d%c%d%cd,c,p,a,op,b);elsif(bc)prit(%d%dc%,a,op,op,);ele printf(%d%dc%d,a

13、,p,op,);rurn 0;2. 高速公路超速惩罚:按照规定,在高速公路上行驶的机动车,超过本车道限速的10%则处0元罚款;若超过5%,就要吊销驾驶证。请编写程序根据车速和限速鉴别对该机动车的解决。解答:#includeinman(voi)double peed,ralmitng;printf(Et speed:);an(%f,&spd);rintf(nter telimiting:);sanf(%l,&ra_limiting);if(rate_lmiting1.5pdrte_litig1.)printf(罚款20元);else f(speedrte_limiting*15)prntf(罚款

14、00元,并吊销驾驶证);es; return0; 3出租车计价:某都市一般出租车收费原则如下:起步里程3公里,起步费 10 元;超起步里程后 10公里内,每公里2元,超过0公里以上的部分加收50的空驶补贴费,即每公里元;营运过程中,因路阻及乘客规定临时停车的,按每 分钟2元计收(局限性分钟则不收费)。运价计费尾数四舍五入,保存到元。编写程序,输入行驶里程(公里)与等待时间(分钟),计算并输出乘客应支付的车费(元)。解答:inludstdio.hint ain(void)it mile,me,ct;printf(npt m and te:);scanf(%d%,&mile,&tie);cot=0

15、;mile=l+tim/5;i(ile=)s10;ele if(mie=13)co10+(mile)*2;seco10+0*2+(mle13)*;pint(cost%dn,ct);return 0;4. 记录学生成绩:输入一种正整数n,再输入n个学生的成绩,记录五分制成绩的分布。百分制成绩到五分制成绩的转换规则:不小于或等于90分为A,不不小于90分且不小于或等于80分为B,不不小于80分且不小于或等于70分为,不不小于70分且不小于或等于6分为D,不不小于0分为E。试编写相应程序。解答:#incl inmain(void)int mark, n, i, u;doubl vrage;incou

16、nta, ountb, countc, count, counte; pinf(Eter: );snf(d,&n);ounta= cnt =untc countd = coune=sum=;fr(1; i=8) countb+;es i(mar0)ountc+;elseif(m60)contd+;el counte+;aerge=um1./;rintf(averae=%.1f,arge);rnt(:%, B: %, C: d, : %d, E:%dn,conta, contb, cont, cuntd,count); retrn;5. 三角形判断:输入平面上任意三个点的坐标(x,y1)、(2,

17、y)、(3,y3),检查她们能否构成三角形。如果这3个点能构成一种三角形,输出周长和面积(保存2位小数);否则,输出“Imossibl”。试编写相应程序。提示:在一种三角形中,任意两边之和不小于第三边。三角形面积计算公式如下:解答:inludestdoh#nclueat.hnt ain(vid)oue x1,y1,x2,2,x3,3;doublearea,l,a,,c,s;intf(Entr x and y1:); scanf(%l%l,x1,&y); printf(Entex2 ad y2:); scnf(%f%f,&x2,&y2); pintf(Ete x3 an y3:); scanf(%lf,&x3,&y3); asqt(pow(fabs(x1),2)pw(abs(y-y1),2); b=sqrt(pow(fa(x3-x2),2)+pow(fas(3-y2),2); cqrt(pw(fabs(x1x3),2)p(fas(1-y3),2); f(a+bc&c&b+ca) +c; s=(+b+c)/2; arasrt((-)*(sb)*(s-); inf(l=%.lf,); printf(area=%.2f,ara);elsepritf(Impssible);eturn 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!