目录
1.比较大小:
输入3个整数,按从小到大的顺序输出。试编写相应程序。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int temp;
if(a > b){
temp = a;
a = b;
b = temp;
}
if(a > c){
temp = a;
a = c;
c = temp;
}
if(b>c){
temp = b;
b = c;
c = temp;
}
printf("%d->%d->%d\n",a,b,c);
return 0;
}
2.高速公路超速处罚:
按照规定,在高速公路上行驶的机动车,超出本车道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别 对该机动车的处理。
输入格式:
输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
输出格式:
在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
输入样例1:
65 60
输出样例1:
OK
输入样例2:
110 100
输出样例2:
Exceed 10%. Ticket 200
输入样例3:
200 120
输出样例3:
Exceed 67%. License Revoked
#include<stdio.h>
int main() {
int v,n;
scanf("%d %d",&v,&n);
float x;
x=(v-n)*1.0/n*100;
if(x<10) {
printf("OK\n");
} else if(x>=10&&x<50) {
printf("Exceed %.0lf%%. Ticket 200\n",x);
} else {
printf("Exceed %.0lf%%. License Revoked\n",x);
}
return 0;
}
3.出租车计价:
某城市普通出租车收费标准如下:起步里程为3公里,起步费10元;超过起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的空缺补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按没5分钟2元计收(不足5分钟则不收费)。运价计费尾数四舍五入,保留到元。编写程序,输入行驶里程(公里)与等待时间(分钟),计算并输出乘客应支付的车费(元)。
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
输入样例1:
2.6 2
输出样例1:
10
输入样例2:
5.1 4
输出样例2:
14
输入样例3:
12.5 9
输出样例3:
34
#include<stdio.h>
int main() {
int time;//总临时停车时间
int x;//需要收费的5分钟个数
float money;//总收费
float mileage;//行驶里程
scanf("%f %d",&mileage,&time);
if(time<5) {
if(mileage<=3) {
money=10.0;
} else if(mileage>3&&mileage<=10) {
money=10+(mileage-3)*2.0;
} else {
money=24+(mileage-10)*3.0;
}
} else {
x=time*1.0/5;
if(mileage<=3) {
money=10+x*2.0;
} else if(mileage>3&&mileage<=10) {
money=10+(mileage-3)*2+x*2.0;
} else {
money=24+(mileage-10)*3+x*2.0;
}
}
printf("%.0lf\n",money);
return 0;
}
4.统计学生成绩:
输入一个正整数n,再输入n个学生的成绩,统计五分制成绩的分布。百分制成绩到五分制的转换规则:大于或等于90分为A,小于90分且大于或等于80分为B,小于80分且大于或等于70分为C,小于70分且大于或等于60分为D,小于60分为E。试编写相应程序。
百分制成绩到五分制的转换规则:
- 大于等于90分为A;
- 小于90且大于等于80为B;
- 小于80且大于等于70为C;
- 小于70且大于等于60为D;
- 小于60为E。
输入格式:
输入在第一行中给出一个正整数n(≤1000),即学生人数;第二行中给出n个学生的百分制成绩,其间以空格分隔。输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。输入样例:
7 77 56 93 74 60 68 70
输出样例:
1 0 2 3 1
#include <stdio.h>
int main()
{
int n;
int score;
scanf("%d",&n);
int i;
int A = 0 ,B = 0 ,C = 0 ,D = 0 ,E = 0 ;
for(i = 1; i <= n; i++)
{
scanf("%d",&score);
if(score >= 90)
A++;
else if(score < 90 && score >= 80)
B++;
else if(score < 80 && score >= 70)
C++;
else if(score < 70 && score >= 60)
D++;
else
E++;
}
printf("A : %d\nB : %d\nC : %d\nD : %d\nE : %d",A,B,C,D,E);
return 0;
}
5. 三角形判断:
输入平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。如果这3个点能构成一个三角形,输出周长和面积(保留2位小数);否则,输出“Impossible”。试编写相应的程序。
提示:在一个三角形中,任意两边之和大于第三边。三角形面积计算公式如下:
输入格式:
输入为3个正整数,分别代表三角形的3条边a、b、c。
输出格式:
如果输入的边能构成一个三角形,则在一行内,按照
area = 面积; perimeter = 周长
的格式输出,保留两位小数。否则,输出
These sides do not correspond to a valid triangle
输入样例1:
5 5 3
输出样例1:
area = 7.15; perimeter = 13.00
输入样例2:
1 4 1
输出样例2:
These sides do not correspond to a valid triangle
#include<stdio.h>
#include<math.h>
int main() {
int a,b,c;
float s;
float perimeter,area;
scanf("%d %d %d",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b) {
s=(a+b+c)*1.0/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
perimeter=a+b+c;
printf("area = %.2lf; perimeter = %.2lf",area,perimeter);
} else {
printf("These sides do not correspond to a valid triangle");
}
return 0;
}