《c语言程序设计》(江宝钏著)实验三答案_第1页
《c语言程序设计》(江宝钏著)实验三答案_第2页
《c语言程序设计》(江宝钏著)实验三答案_第3页
《c语言程序设计》(江宝钏著)实验三答案_第4页
《c语言程序设计》(江宝钏著)实验三答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.5 实验三 选择结构程序设计一、实验目的与要求1. 理解 C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。2. 掌握利用 if 结构实现选择结构的方法。3. 掌握利用 switch 结构实现多分支选择结构。4 结合程序掌握一些简单的算法,学习调试程序5 实验 4 学时二、实验内容1程序改错题改正下面程序中的错误。输入实数 x,计算并输出下列分段函数 f(x)的值(保留 1位小数) 。 )10(x)(xfy)10(x输入输出示例 1(改正后程序的运行结果)Enter x:100f(100.00)= 0.1输入输出示例 2(改正后程序的运行结果)Enter x:23f(23.00)= 23.0源程序 (有错误的程序)#include#includevoid main(void)double x;printf(“Enter x: n“);scanf(“=%f“, x);if (x = 100) y = 1/sqrt(x)else (x != 100) y = x;printf(“f(%.2f) = %.1fn“,x,y);答:#include #include void main(void) double x,y; printf(“Enter x:n“);scanf(“%lf“, if (x=100)y = 1/sqrt(x); else y= x;printf(“f(%.2lf)=%.1lfn“,x,y); 2一般编程题编程题 1 输入任意三个整数 a,b,c,求 3 个数中的最大值和最小值。答:#include void main()int a,b,c;printf(“请输入三个整数:“);scanf(“%d %d %d“,if (a=b)t=a,a=b,b=t;if (a=c)t=a,a=c,c=t;if (b=c)t=b,b=c,c=t;printf(“最小值为:%dn“,a);printf(“最大值为:%dn“,c);编程题 2输入 x,计算并输出下面分段函数 f(x)的值(保留 2 位小数) 。请调用 sqrt 函数求平方根,调用 pow 函数求幂。)0(12)(xx)(f)0(x输入输出示例 (共运行 3 次)Enter x:10f(10.00) = 3.16Enter x:0.5f(0.50) = 2.75Enter x:0f(0.00) = 0.00成本答:#include#includevoid main()double x,y;printf(“Enter x:n“);scanf(“%lf“,if (x#includevoid main()double x,y;printf(“Enter x:n“);scanf(“%lf“,if (x0printf(“输入上衣 x 件,裤子 y 件:n“);scanf(“%lf%lf“,if (x=yelse if (y=xelse if (xyscanf(“%d“,a=x%3;a=a/a*100;b=x%5;b=b/b*10;c=x%7;d=a+b+c;switch(d)case 100:printf(“能被 5,7 整除n“);case 10 :printf(“能被 3,7 整除n“);case 1 :printf(“能被 3,5 整除n“);case 110:printf(“能被 7 整除n“);case 101:printf(“能被 5 整除n“);case 11 :printf(“能被 3 整除 n“);case 111:printf(“不能被 3,5,7 整除n“);case 0 :printf(“能被 3, 5,7 整除n“);3较难编程题编程题 1请用 switch 语句编程计算员工每月的薪水。(exph3_1.cpp) 已知某公司员工的保底薪水为 500,某月所接工程的利润 profit(整数)与提成的关系如下(计量单位:元):profit1000 没有提成;1000profit2000 提成 10%;2000profit5000 提成 15%;5000profit10000 提成 20%;10000profit 提成 25%。分析:为使用 switch 语句,必须将利润 profit 与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的变化点都是 1000 的整数倍(1000、2000、5000、) ,如果将利润 profit 整除 1000,则相邻两个区间的重叠。为解决相邻两个区间的重叠问题,最简单的方法就是:利润 profit 先减 1(最小增量) ,然后再整除 1000 即可:profit1000 对应 01000profit2000 对应 12000profit5000 对应 2、3、45000profit10000 对应 5、6、7、8、910000profit 对应 10、11、12、答:#include void main()double p,m,t,q;int n;printf(“某月所接工程利润为:“);printf(“nn“);scanf(“%lf“,m=p-1;n=(int)m/1000;switch (n)case 0 : printf(“n 薪水为:500n“); break;case 1 :q=500+p*0.1 ;printf(“n 薪水为:%.2lfn“,q);break;case 2 :case 3 :case 4 :q=500+p*0.15;printf(“n 薪水为:%.2lfn“,q);break;case 5 :case 6 :case 7 :case 8 :case 9 :q=500+p*0.2 ;printf(“n 薪水为:%.2lfn“,q);break;default:q=500+p*0.25;printf(“n 薪水为:%.2lfn“,q);编程题 2编写程序实现如下功能:输入二个运算数(exp1,exp2 )和一个运算符(op), 计算表达式 exp1 op exp2 的值,其中 OP 可以为+、-、* 、/ 、% 五个符号中的任一种(提示:用 switch 语句实现) 。 答:#include void main()float exp1,exp2,x;char op;printf(“输入 :“);scanf(“%f%c%f“,switch (op)case +:x=exp

温馨提示

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

评论

0/150

提交评论