习题3-1 比较大小 (10分)
#include<stdio.h>
int main()
{
int a,b,c,t;
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("%d->%d->%d",a,b,c);
}
习题3-2 高速公路超速处罚 (15分)
#include<stdio.h>
int main()
{
int speed, limit;
int x;
scanf("%d%d", &speed, &limit);
x = ((speed - limit)*100) / limit;
if (speed>limit*1.5)
{
printf("Exceed %d%. License Revoked", x);
}
else if ( speed < (limit * 1.5))
{
printf("Exceed %d%. Ticket 200", x);
}
else
{
printf("OK");
}
return 0;
}
习题3-3 出租车计价 (15分)
#include<stdio.h>
int main()
{
int time, e;
double km;
double price, price2;
scanf("%lf%d", &km, &time);
if (km <= 3)
price = 10;
else if (km <= 10)
price = 10 + (km - 3) * 2;
else
price = 24 + (km - 10) * 3;
if (time < 5)
{
price2 = 0;
}
else
{
e = time / 5;
price2 = 2 * e;
}
printf("%.0lf", price + price2);
}
习题3-4 统计学生成绩 (15分)
#include<stdio.h>
int main()
{
int n,score,i;
int A,B,C,D,E;
A=B=C=D=E=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&score);
if(score>=90)
A++;
else if (score>=80)
B++;
else if(score>=70)
C++;
else if(score>=60)
D++;
else
E++;
}
printf("%d %d %d %d %d",A,B,C,D,E);
return 0;
}
习题3-5 三角形判断 (15分)
#include<stdio.h>
#include<math.h>
int main()
{
float x1,y1,x2,y2,x3,y3;
scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3);
float a,b,c,A,L;
float p;
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
if(a+b>c&&a+c>b&&b+c>a)
{
L=a+b+c;
p=L/2.0;
A=sqrt(p*(p-a)*(p-b)*(p-c));
printf("L = %.2f, A = %.2f\n",L,A);
}
else
printf("Impossible");
return 0;
}