0
点赞
收藏
分享

微信扫一扫

《C语言程序设计》第4版 何钦铭、颜晖主编 课后习题答案 第3章 分支结构 习题3

邯唐情感 2022-02-13 阅读 64
c语言

习题3 P064~067

一、选择题

1~5 CBADD 6~8 CAB

二、填空题

1、32 585858

2、(x>10&&x<100)||x<0

3、x%2==0 first==1 first=0 printf("%d",x) (答案暂定)

4、onetwo

5、max=a max=c b>c max=c

三、程序设计题

习题1~5

#include<stdio.h>
#include<math.h>
int main(void)
{
	int a,b,c,max;//习题3.1 
	printf("Enter a,b,c:");
	scanf("%d%d%d",&a,&b,&c);
	max=a;
	if(b>c){
	  if(b>max) {
		max=b;
		if(a>c) printf("从小到大为:%d,%d,%d\n",c,a,b);
		else printf("从小到大为:%d,%d,%d\n",a,c,b);
	  }
	  else{if(b>c) printf("从小到大为:%d,%d,%d\n",c,b,a); 
	     else printf("从小到大为:%d,%d,%d\n",b,c,a);}}
	else{
	  if(c>max){
		max=c;
		if(a>b) printf("从小到大为:%d,%d,%d\n",b,a,c);
		else printf("从小到大为:%d,%d,%d\n",a,b,c);
	  }}
	
	printf("\n");
	
	/*高速公路超速处罚(习题3.2)*/
	double n=120,x;
	printf("Enter x(为车辆实际速度):");
	scanf("%lf",&x);
	if(x>=n*1.1&&x<n*1.5)
	printf("您已超速10%,处罚款200元\n");
	else if(x>=n*1.5) printf("您已超速50%,已吊销驾驶证\n");
	     else ;
    
	printf("\n");
	
	/*出租车计价(习题3.3)*/{
	double x,m,y;
	printf("输入行驶公里x(x>0),临时停车时间m:");
	scanf("%lf%lf",&x,&m);
	if(x<=3)
	y=10+(m/5.0)*2;
	else if(3<x<=13) y=10+(x-3)*2+(m/5.0)*2;
	     else y=10+10*2+(x-13)*3+m/5*2;//此处输入14应得33,但结果为32,应该是电脑的问题。 
	printf("乘客应支付的车费为:%.lf\n",y);}
	
	printf("\n");
	
	/*统计学生成绩(习题3.4)*/{
	int score,n,i,A=0,B=0,C=0,D=0,E=0;
	printf("Enter n:");
	scanf("%d",&n);
	printf("输入%个score(1~100):",n);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&score);
	    printf("输入百分制成绩%d对应的五分制成绩为:",score); 
	    if(score>=90){ 
	    putchar('A');putchar('\n');A++;}
    	else if(80<=score){
	         putchar('B');putchar('\n');B++;}
	         else if(70<=score){
	              putchar('C');putchar('\n');C++;}
	              else if(60<=score){
	                   putchar('D');putchar('\n');D++;}
	                   else { putchar('E');putchar('\n');E++;}
	}
	printf("等级占比:A=%d,B=%d,C=%d,D=%d,E=%d\n",A,B,C,D,E);}
	
	printf("\n");
	
	/*三角形判断(习题3.5)*/{
	double x1,y1,x2,y2,x3,y3,S,C,area,a,b,c;
	printf("输入三个点的坐标(x1,y1),(x2,y2),(x3,y3):");
	scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
	a=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
	b=sqrt(pow(x3-x2,2)+pow(y3-y2,2));
	c=sqrt(pow(x1-x3,2)+pow(y1-y3,2));
	if((a+b>c)&&(a+c>b)&&(b+c>a)&&(a-b<c)&&(a-c<b)&&(b-c<a))
	{
		C=a+b+c;
		S=(a+b+c)/2.0;
		area=sqrt(S*(S-a)*(S-b)*(S-c));
		printf("此三角形的周长为%.2lf,面积为%.2lf",C,area);	
	}
	else printf("Impossible");}
	
	return 0;
} 
举报

相关推荐

0 条评论