《C语言程序设计》(江宝钏著)实验三答案_c语言程序设计实验三

2020-02-28 其他范文 下载本文

《C语言程序设计》(江宝钏著)实验三答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序设计实验三”。

3.5 实验三 选择结构程序设计

一、实验目的与要求

1.理解C语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。

2.掌握利用if结构实现选择结构的方法。

3.掌握利用switch结构实现多分支选择结构。

4. 结合程序掌握一些简单的算法,学习调试程序

5. 实验4学时

二、实验内容

1.程序改错题

改正下面程序中的错误。输入实数x,计算并输出下列分段函数f(x)的值(保留1位小数)。1

x(x100)

yf(x)

x(x100)输入输出示例1(改正后程序的运行结果)

Enter x:f(100.00)= 0.1

输入输出示例2(改正后程序的运行结果)

Enter x:f(23.00)= 23.0

源程序(有错误的程序)

#include

#include

void main(void)

{

double x;

printf(“Enterx: 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(“Enterx:n”);

scanf(“%lf”,&x);

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”,&a,&b,&c);

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函数求幂。

2(x1)2x1

x(x0)

f(x)

x(x0)

输入输出示例(共运行3次)

Enter x:f(10.00)=3.16

Enter xf(-0.50)=-2.75

Enter x:f(0.00)=0.00

成本

答:

#include

#include

void main()

{

编程题3 double x,y;printf(“Enterx:n”);scanf(“%lf”,&x);if(x

有一函数:

x(-5

y=x-1(x=0)

x+1(0

编写程序,要求用scanf函数输入x的值,输出y的值。

具体要求如下:

(1)用if语句实现分支,自变量和函数值均用实数类型。

(2)自变量用scanf函数输入,给一些输入提示。

(3)运行程序,输入x的值(分别为-5

答:

#include

#include

void main()

{

double x,y;

printf(“Enterx:n”);

scanf(“%lf”,&x);

if(x>0&&x

y=x+1;

else if(x==0)

y=x-1;

else if(x>-5&&x

y=x;

printf(“f(%.2f)=%.2fn”,x,y);

}

编程题4

某服装店经营成套服装的买卖,同时也允许单件销售。若一次购买不少于70套,则每套90元;若不足70套,则每套110元;只买上衣每件70元;只买裤子每条60元。请编写程序假设用户买入x件上衣和y条裤子,请编写程序计算相应的应付款是多少?

答:

#include

#include

void main()

{

double x,y,z;

printf(“输入上衣x件,裤子y件:n”);

scanf(“%lf%lf”,&x,&y);

if(x>=y&&y>=70)

z=90*y+70*(x-y);

else if(y>=x&&x>=70)

z=90*x+60*(y-x);

else if(x>y&&y

z=110*y+70*(x-y);

else if(y>x&&x

z=110*x+60*y-x;

printf(“应付:%.3f(元)n”,z);

}

编程题5

编写程序实现:输入一个整数,判断它能否被3、5、7整除,同时输出如下信息。

(1)能同时被3、5、7整除;

(2)能同时被其中的哪二个数整除;

(3)能被其中的哪一个数整除;

(4)不能被3、5、7任一个数整除。

答:

#include

void main()

{

int x,a,b,c,d;

scanf(“%d”,&x);

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(整数)与提成的关系如下(计量单位:元):

profit≤1000没有提成;

1000<profit≤2000提成10%;

2000<profit≤5000提成15%;

5000<profit≤10000提成20%;

10000<profit提成25%。

分析:为使用switch语句,必须将利润profit与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的变化点都是1000的整数倍(1000、2000、5000、……),如果将利润profit整除1000,则相邻两个区间的重叠。为解决相邻两个区间的重叠问题,最简单的方法就是:利润profit先减1(最小增量),然后再整除1000即可:

profit≤1000对应0

1000<profit≤2000对应1

2000<profit≤5000对应2、3、4

5000<profit≤10000对应5、6、7、8、9

10000<profit对应10、11、12、……

答:

#include

void main()

{

double p,m,t,q;

int n;

printf(“某月所接工程利润为:”);printf(“nn”);scanf(“%lf”,&p);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”,&exp1,&op,&exp2);

switch(op)

{

case '+':x=exp1+exp2;break;

case '-':x=exp1-exp2;break;

case '*':x=exp1*exp2;break;

case '/':x=exp1/exp2;break;

}

printf(“nnn%5.2f%c%5.2f=%5.2fnnn”,exp1,op,exp2,x);}

+

《《C语言程序设计》(江宝钏著)实验三答案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
《C语言程序设计》(江宝钏著)实验三答案
点击下载文档
相关专题 c语言程序设计实验三 答案 语言程序设计 江宝钏著 c语言程序设计实验三 答案 语言程序设计 江宝钏著
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文