1.比较大小:输入3个整数,按从小到大的顺序输出。试编写相应程序
#include<stdio.h>
int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;}
if(y>z)
{t=y;y=z;z=t;}
printf("small to big: %d %d %d\n",x,y,z);
return 0;
}**
2.高速公路超速处罚:按照规定,在高速公路上行驶的机动车,超出本道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。请编写程序根据车速和自动判别对该机动车的处理。
#include <stdio.h>
int main()
{
int a, b;
double x;
scanf("%d %d", &a, &b);
x = (double)(a - b) * 100 / (double)b;
if (x < 10)
printf("OK");
else if (x < 50 && x > 10)
printf("Exceed %.0f%%. Ticket 200", x);
else
printf("Exceed %.0f%%. License Revoked", x);
return 0;
}
3.出租车计价:某城市普通出租车收费标准如下:起步里程为3公里,起步费10元;超过起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。运价计费尾数四舍五入,保留到元。编写程序,输入行驶里程(公里)与等待时间(分钟),计算并输出乘客应支付的车费(元)
#include <stdio.h>
int main()
{
int km, time, money1, money2;
printf("please input km and time:");
scanf("%d%d", &km, &time);
money1 = 0;
money2 = (time / 5) * 2;//等待时间的价格
if (km <= 3)
{
money1 = 10;
}
else if (km > 3 && km < 13)
{
money1 = 10 + (km - 3) * 2;
}
else
{
money1 = 10 + 10 * 2 + (km-13)* 3;
}
printf("cost=%d\n", money1 + money2);
return 0;
}
4.统计学生成绩:输入一个正整数n,再输入n个学生的成绩,统计五分制的分布。百分制成绩到五分制成绩的转换规则:大于或等于90分为A,小于90于或等于80分为B,小于80分且大于或等于70为C,小于70分且大于或等于60分为D,小于60分为E。试编写相应程序。
#include <stdio.h>
int main()
{
int n, grade, i, count1 = 0, count2 = 0, count3 = 0, count4 = 0, count5 = 0;
printf("Enter n:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
scanf("%d", &grade);
if (grade >= 90 && grade <= 100)
{
count1++;
}
else if (grade >= 80 && grade < 90)
{
count2++;
}
else if (grade >= 70 && grade < 80)
{
count3++;
}
else if (grade >= 60 && grade < 70)
{
count4++;
}
else
{
count5++;
}
}
printf(" A=%d\n B=%d\n C=%d\n D=%d\n E=%d\n", count1, count2, count3, count4, count5);
return 0;
}
5.三角形判断;输入平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3)检验它们能否构成三角形。如果这3个点能构成一个三角形,输出周长和面积(保留2位小数);否则,输出“Impossible”。试编写相应程序。
提示:在一个三角形中,任意两边之和大于第三边。三角形面积计算公式如
area=根号下s(s-a)(s-b)(s-c),其中s=(a+b+c)/2
#include <stdio.h>
#include <math.h>
int main()
{
float x1,x2,x3,y1,y2,y3;
float a,b,c;
double area,s;
printf("Enter first point:");
scanf("%lf %lf",&x1,&y1);
printf("Enter second point:");
scanf("%lf %lf",&x2,&y2);
printf("Enter third point:");
scanf("%lf %lf",&x3,&y3);
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
c=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
if(a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("S=%.2f area=%.2f",s,area);
}
else
{
printf("Impossible");
}
return 0;
}