ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:84.64KB ,
资源ID:5141769      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5141769.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验4分支结构程序设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、实验4分支结构程序设计实验4-分支结构程序设计姓名学号班级1.练习题一编写程序,计算练习一分段函数的值。(1) 用scanf函数输入x的值。(2) 运行程序时,分别按x的值小于0、x的值在0-15之间、x的值大于15三种情况输入数据,检查输出的y值是否正确。# include int k=1;void test();/程序是否继续void main () while (k=1) int x,y,c; printf(Input x:); scanf(%d,&x); while (c=getchar()!=n&c!=EOF); if (x0) y=x+10; printf(x=%d,y=x+10=

2、%dn,x,y); else if(x15) y=3*x+5; printf(x=%d,y=3*x+5=%dn,x,y); else y=2*x-10; printf(x=%d,y=2*x-10=%dn,x,y); test(); void test() char c; printf(Test again?y/nn); if (c=getchar()=n|c=N)/只有当输入N或n时才终止程序 k=0;运行结果截图:思考题及问题:判断x的值在0-15之间可否使用表达式“0=x=0&x15.2.练习题二输入3个数字,判断他们是否能构成三角形,如果不能,输出提示信息;否则判断它是直角、等边、等腰还

3、是普通三角形。# include int k=1;void test();void main() while(k=1) int a,b,c,d; printf(Input a,b,c:); scanf(%d,%d,%d,&a,&b,&c); while (d=getchar()!=n&c!=EOF);/清空输入缓存区 if(!(a0&b0&c0&a+bc&a+cb&b+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=b&b=c) prin

4、tf(这是一个等边三角形n); else if (a=b|b=c|a=c) printf(这是一个等腰三角形n); else printf(这是一个普通三角形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语言中是赋值符号,在条件判断式中是一个永真式,会引起语义错误。1. 练习题

5、三编写一个程序,输出给定的某年某月的天数。要求:采用switch语句实现。程序代码:# include void main() int year,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=0&year%100!=0|year%40

6、0=0) leap =1; else leap=0; if (leap) days=29; else days=28; printf(%d年%d月的天数为%d天n,year,mon,days);运行结果截图:思考题及问题:1 本程序所给代码中的switch语句没有default语句可以吗?default语句应该在switch语句的什么位置?可以。Default语句可以在之间的任意位置。2 本程序所给代码中的最后一个case语句中,没有break正确吗?请解释。正确。在switch语句中,当找到符合条件的case时,执行该case语句及之后的其他情况的语句,故C语言会在case语句和defaul

7、t语句后加break;防止执行下面的语句。而最后一个case语句后无其他语句,故没有break语句也正确。1. 自测练习一编写程序,计算逻辑表达式的值。假设int a=0,b=1,c=1,d=3;(1)表达式a*b&c-d、c-d&a*b是多少?为什么?程序代码:# include void main() int a=0,b=1,c=1,d=3; printf(%d,%d,a*b&c-d,c-d&a*b);运行结果截图及原因:a*b=0,逻辑假,由于与运算的短路性,&右边的表达式不进行,直接为0;c-d=-2,逻辑真,为1,故第二个运算式为1&0=0.(2)表达式a|+b&-c的值是多少?变量

8、a、b、c的值分别是多少?为什么?程序代码:# include void main() int a=0,b=1,c=1,d=3; printf(%dn,-a|+b&-c); printf(a=%d,b=%d,c=%d,a,b,c);运行结果截图及原因:+b即b的值为2,是真值1,-c值即c的值为0,假值0。-a即a的值为0,假值0.故结果为0|1&0=1&0=0,(3)表达式+b&-c|-a的值是多少?变量a、b、c的值分别是多少?为什么?程序代码:# include void main() int a=0,b=1,c=1,d=3; printf(+b&-c|-a=%dn,+b&-c|-a);

9、 printf(a=%d,b=%d,c=%d,a,b,c);运行结果截图及原因:+b即b的值为2,是真值1,-c值即c的值为0,假值0。-a即a的值为-1,真值1.故结果为1&0|1=1,2. 自测练习二设整型变量a、b、c分别存放从键盘输入的3个整数。编写C程序,按从大到小排列这3个数,使a成为最大值,c成为最小值,并且按序输出这3个数。源程序代码:# include void main() int a3=0,t,j,i,k; for (i=0;i=2;i+) printf(Input %c:,i+97); scanf(%d,&ai); for (j=0;j=2;j+)/冒泡法 for (i

10、=0;i=2-j;i+) if (aiai+1) t=ai,ai=ai+1,ai+1=t; printf(a=%d,b=%d,c=%dn,a0,a1,a2);运行结果截图:3. 自测练习三从键盘输入一个小于六位的正整数,判断它是几位数,并按照相反的顺序输出各位上的数字,例如输入1234,输出为4321。源程序代码:# include # include void main() int i=4,a6=0,k=0; printf(“请输入一个小于六位的正整数:); scanf(%d,&a5); while (a5=1;i-) ai=ai+1%(int)pow(10,i); ai+1=ai+1/(i

11、nt)pow(10,i); for (i=1;i=k;i+)/倒序输出 printf(%d,ai); printf(n);运行结果截图:4. 自测练习四假设今天是星期日,编写一个程序,求n(n由键盘输入)天后是星期几。源程序代码:# include void main() int n,t; printf(假设今天是星期日,求n天后是星期几n输入n=); scanf(%d,&n); t=n%7; switch(t) case 0:printf(n天后还是星期日n);break; case 1:printf(n天后是星期一n);break; case 2:printf(n天后是星期二n);brea

12、k; case 3:printf(n天后是星期三n);break; case 4:printf(n天后是星期四n);break; case 5:printf(n天后是星期五n);break; case 6:printf(n天后是星期六n); 运行结果截图:5. 自测练习五假定向香港邮寄包裹的收费规则如下:首先,包裹重量向上取整到最近的15g的倍数,然后按书上表格收费,编写一个程序根据用户输入的包裹的重量和里程计算邮费。包裹邮费计算表重量(g)收费(元)15530945126014(每足1000km加1元)75及以上15(每足1000km加2元)源程序代码:# include int k=1,c

13、=0;/全局变量void test() printf(Test again?y/n:); if (c=getchar()=n|c=N)/只有当输入N或n时才终止程序 k=0;void main() while(k=1) int m,s; printf(请输入包裹重量(g); scanf(%d,&m); printf(请输入里程数(km); scanf(%d,&s); while(c=getchar()!=n&c!=EOF);/清空输入缓存区 if(m%15!=0)m=(m/15+1)*15;/取m为15的倍数 s/=1000; printf(收费:); if(m=15)printf(5元); else if (m=30)printf(9元); else if(m=45)printf(12元); else if(m=60)printf(%d元,14+s); else printf(%d元,15+2*s); printf(n); test(); 运行结果截图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1