PAT (Advanced Level) Practice 1008 Elevator (C语言) (PTA)

在这里插入图片描述

#include<stdio.h>

int main(){
	
	int floor=0;
	int nextfloor;
	int n=0;
	int time=0;
	
	scanf("%d",&n);
	for(; n!=0; n--){
		scanf("%d",&nextfloor);
		if(nextfloor>floor){
			time+=6*(nextfloor-floor);
		}else{
			time+=4*(floor-nextfloor);
		}
		time+=5;
		floor=nextfloor;
	}
	printf("%d",time);
	
	return 0;
}

简单题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中设计一个简单的办公楼电梯运行系统,我们可以考虑使用结构体来表示电梯和楼层,以及相应的状态机模型来管理电梯的行为。以下是一个简化的示例: 1. 定义数据结构: ```c typedef enum {STOPPED, MOVING_UP, MOVING_DOWN} ElevatorState; typedef struct { int floor; // 当前所在的楼层 ElevatorState state; // 电梯状态 int capacity; // 电梯容量 } Elevator; ``` 2. 管理电梯状态的函数: ```c void elevatorMove(Elevator *elevator, int destination) { if (elevator->state == STOPPED && elevator->floor != destination) { elevator->state = MOVING_UP; // 向上移动 } else if (elevator->state == MOVING_UP && elevator->floor > destination) { elevator->state = STOPPED; // 到达并停止 elevator->floor = destination; } else if (elevator->state == MOVING_DOWN && elevator->floor < destination) { elevator->state = STOPPED; // 到达并停止 elevator->floor = destination; } else if (elevator->state == MOVING_DOWN && elevator->floor == destination) { elevator->state = MOVING_UP; // 改为向下 } } // 其他可能的函数如电梯满载、开门、关门等操作 ``` 3. 用户接口: ```c void enterElevator(Elevator *elevator, int floor) { if (elevator->state == STOPPED && elevator->capacity > 0) { elevator->capacity--; elevator->floor = floor; } else { printf("电梯忙碌或已满载,无法进入。\n"); } } void printElevatorStatus(Elevator *elevator) { printf("电梯当前位于 %d 层,状态: %s\n", elevator->floor, elevatorStateToString(elevator->state)); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值