c语言 四层电梯算法,电梯算法c语言

实习2电梯算法c语言

#include

#include

#define t 0.1

void T_in_out(int a,int b,int i,float T,float T_check,float T_giveup);

void main()

{

int i,m,a1; //a1是开始运行时在第一层进入电梯的人数,m为电梯开门后的检测次数

int up_in[9],up_out[9];

int down_in[9],down_out[9];

float T=0.0,T_open,T_close,T_check,T_giveup,T_wait;

printf(" ------------------------------\n ");

printf("|---------模拟电梯系统--------| \n ");

printf("------------------------------ \n ");

label: printf("开始运行时从1楼进入电梯的人数: ");

scanf("%d",&a1);

for(i=0;i<9;i++)

{

printf("上楼时在第%d层进入电梯的人数:\n",i);

scanf("%d",&up_in[i]); //up_in[9]数组储存在上楼时各层进入的人情况

}

for(i=0;i<9;i++)

{

printf("上楼时从第%d层出电梯的人数:\n",i);

scanf("%d",&up_out[i]); //up_out[9]数组储存在上楼时各层出的人情况

}

for(i=7;i>=0;i--)

{

printf("下楼时从第%d层出电梯的人数:\n",i);

scanf("%d",&down_in[i]); //down_in[9]数组储存在下楼时各层进入的人情况

}

for(i=7;i>=0;i--)

{

printf("下楼时从第%d层出电梯的人数:\n\n",i);

scanf("%d",&down_out[i]); //down_out[9]数组储存在下楼时各层出的人情况

}

printf("电梯上楼时的情况(Up): \n \n");

T_open=20*t; //T_open为电梯开门所需时间

T_close=20*t; //T_close为电梯关门所需时间

T_check=40*t; //T_check为电梯每次开门是检测的时间间隔

T_giveup=150*t; //T_giveup为人能容忍的最长等待时间

T_wait=300*t; //T_wait为电梯在某一层能停留的最长时间

if(a1*25%40!=0) m=a1*25*t/T_check+1;

else m=a1*25*t/T_check;

T=T+T_open;

printf("电梯开始运行后在%f时刻开门! \n",T);

T=T+25*t*a1;

printf("电梯在%f时刻进入%d人! \n",T,a1);

T=T+m*T_check-a1*25*t+T_close;

printf("电梯开始运行后在%f时刻第一次关门! \n \n",T);

for(i=0;i<9;i++)

{

m=0;

printf("电梯上楼到达第%d层! \n",i);

if((T_open+25*t*up_out[i])>T_wait) //超过最长等待时间电梯就返回第1层待命

{

printf("等待时间过长,返回第一层待命! \n");

printf("在%f时刻电梯由于长时间停留重新回到第一层! \n",T);

goto label;

}

if((up_in[i]+up_out[i])*25%40!=0) m=(up_in[i]+up_out[i])*25*t/T_check+1;

else m=(up_in[i]+up_out[i])*25*t/T_check;

T_in_out(up_out[i],up_in[i],i,T,T_check,T_wait);

T=T+m*T_check;

T=T+T_open+T_close;

}

printf("电梯下楼时的情况(Down): \n \n");

for(i=7;i>=0;i--)

{

m=0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值