基础逻辑设计题

本文展示了四个C++编程示例,涉及整数排序、高速公路超速处罚规则应用、出租车计价逻辑以及统计学成绩的五分制转换,展示了基础的C++输入输出和条件控制功能。
摘要由CSDN通过智能技术生成

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

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值