1.比较大小,输入3个整数,按从小到大的顺序输出
#include<stdio.h>
int main() {
int a, b, c;
int temp;
printf("enter a,b,c:");
scanf("%d %d %d", &a, &b, &c);
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("after sorted:%d %d %d", a, b, c);
return 0;
}
2.高速公路超速处罚:按照规定,在高速公路上行驶的机动车,超出原本车道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。编写程序根据车速和限速自动判别对该机动车的处理。
#include<stdio.h>
int main() {
float speed, limit;
float a;
printf("enter speed,limit:");
scanf("%d %d", &speed, &limit);
a = (speed - limit) / limit * 100;
if (a>50){
printf("吊销驾驶证");
}
else if (a >10){
printf("罚款200");
}
else {
printf("正常行驶");
}
return 0;
}
3.出租车计价:某城市普通出租车收费标准如下:起步里程为3公里,起步费10元;超过起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的空驶补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。运价计费尾数四舍五人,保留到元。编写程序,输入行驶里程(公里)与等待时间(分钟),计算并输出乘客应支付的车费(元)。
#include<stdio.h>
#include<math.h>
int main() {
float distance, waittime;
float cost1, cost2, cost;
printf("enter distance,waittime:");
scanf("%f %f", &distance, &waittime);
if (distance <= 3) {
cost1= 10;
}
else if (distance > 3 && distance <= 10) {
cost1= 10 + (distance - 3) * 2;
}
else if (distance > 10) {
cost1= 10 + 10 * 2 + (distance - 13) * 3;
}
if (waittime >= 5) {
cost2 = (int)(waittime / 5) * 2;
}
cost = cost1 + cost2;
cost = round(cost);
printf("you should pay:%.0f", cost);
return 0;
}
注:round()函数用于四舍五入浮点数到最接近的整数值,定义在头文件<math.h>中。
4.统计学生成绩:输人一个正整数n,再输人n个学生的成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于或等于90分为A,小于90分且大于或等于80分为B,小于80分且大于或等于70为C,小于70分且大于或等于60为D,小于60分为E。试编写相应程序。
#include<stdio.h>
#define MAXN 30
int main() {
int i, n;
int a[MAXN];
printf("enter n:");
scanf("%d", &n);
printf("enter scores:");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++) {
if (a[i] >= 90) {
printf("A\n");
}
else if (a[i] < 90 && a[i] >= 80) {
printf("B\n");
}
else if (a[i] < 80 && a[i] >= 70) {
printf("C\n");
}
else if (a[i] < 70 && a[i] >= 60) {
printf("D\n");
}
else {
printf("E\n");
}
}
return 0;
}