习题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;
}