电梯调度的C语言实现(vc可正常运行)
来源:互联网 发布:淘宝新上的宝贝找不到 编辑:程序博客网 时间:2024/06/05 01:18
#include <stdio.h>int main(void){//数组:a[012345]初始为0,按下向上按钮时,为1;I//数组:b[012345]初始为零,按下某个按钮时,为1;M//数组:c[012345]初始为0,按下向下按钮.为1;Jint a[6]={0};int b[6]={0};int c[6]={0};//x=1上升;x=0等待,x=-1下降;int x=0;//当前位置为n;int n=1;//目的最远位置m;//楼层记录M;int m=1;int M,J,I;int i,j,k=0,K=0; //k为电梯停止时距离电梯最近的按钮int z=1;int max=1,min=1;for(;;){while(x==1){//上行n=n+x;printf("电梯上升到%d层\n",n);printf("哪一层有人按上\t哪一层有人按下\n");scanf("%d%d",&I,&J);a[I]=1;c[J]=1;if(b[n]||a[n]){printf("电梯停在%d层\n",n);printf("你要去哪一层?\n");scanf("%d",&M);if(M<=6&&M>=0){b[M]=1;}b[n]=0;a[n]=0;}for(j=6;j>0;j--){if(b[j]) {m=j;printf("目标楼层%d\n",m);j=-1;}}if(m-n<0)x=-1;if(m-n>0){x=1;printf("xx");}if(n==6||m==n)x=0;elsex=0;}while(x==-1){n=n+x; printf("电梯下降到%d层\n",n);printf("哪一层有人按上\t哪一层有人按下\n");scanf("%d%d",&I,&J);a[I]=1;c[J]=1;if(b[n]||c[n]){printf("电梯停在%d层\n",n);printf("你要去哪一层?\n");scanf("%d",&M);if(M<=6&&M>=0){b[M]=1;}b[n]=0;c[n]=0;}for(j=0;j>6;j++){if(b[j]) {m=j;printf("目标楼层%d\n",m); j=7;}}if(m-n<0) x=-1;if(m-n>0) {x=1;printf("yy");}if(n==6||m==n)x=0;elsex=0;}while (x==0){if(c[3]&&n!=3)x=(3-n);else if(a[3]&&n!=3)x=(3-n);else if (c[4]&&n!=4)x=(4-n);else if (a[2]&&n!=2)x=(2-n);else if (c[5]&&n!=5)x=(5-n);else if (c[2]&&n!=2)x=(2-n);else if (a[4]&&n!=4)x=(4-n);else if (a[5]&&n!=5)x=(5-n);else if (c[6]&&n!=6)x=(6-n);else if (a[1]&&n!=1)x=(1-n);else{printf("几楼有人要上楼?\t几楼有人要下楼?\n");scanf("%d%d",&I,&J);while (I>=6||I<=0||J>6||J<=1){printf("请重新输入:\n");scanf("%d%d",&I,&J);}a[I]=1;c[J]=1;if ((I+J)>2*n){m=I;printf("目标楼层%d\t当前楼层%d\t此时上行\n",m,n);if(a[n]==1){printf("电梯停在%d层\n",n);a[n]=0;}elsex=1;}if((I+J)<2*n){m=J;printf("目标楼层%d\t当前楼层%d\t此时下降\n",m,n);if(b[n]==1){printf("电梯停在%d层\n",n);c[n]=0;}else x=-1;}if(I==n||J==n){printf("你要去哪一层?\n"); scanf("%d",&M); m=M;if(m>n){ printf("目标楼层%d\t当前楼层%d\t此时上行\n",m,n);a[n]=0;x=1;}if(m<n){printf("目标楼层%d\t当前楼层%d\t此时下降\n",m,n);c[n]=0;x=-1;}}}if(x>0)x=1;if(x<0)x=-1;}}}
阅读全文
0 0
- 电梯调度的C语言实现(vc可正常运行)
- 电梯算法的C语言实现
- 【操作系统】C语言模拟操作系统实现磁盘调度算法——电梯调度算法
- 电梯的调度算法
- 一个电梯运行的模拟实现
- hoare管程实现电梯调度
- c语言,电梯模拟
- 顺序栈的c语言实现(程序可运行)。。。2014.5.11
- 平衡二叉树(AVL)的实现,附可运行C语言代码
- 数据结构之---C语言实现数组的顺序存储表示(可运行)
- 可在单片机上运行的机器学习算法KNN(C语言实现)
- 磁盘调度 C语言实现
- 一些可运行的C语言数据结构代码
- c语言函数如何返回两个值或多个值(结合 小飞 电梯调度算法)
- 动画模拟实现电梯的载客运行过程
- 电梯调度
- 电梯调度
- 进程的优先调度算法的c语言实现
- java正则表达式去掉html标签
- 《Thinking In Algorithm》06.Binary search tree(二叉查找树)
- 6行代码将图片显示到MFC图像控件上
- Redis Cluster处理MULTI/EXEC事务以及Multiple主键命令时的限制
- java免费视频
- 电梯调度的C语言实现(vc可正常运行)
- Unity16--背景滚动的设置、第一人称视角
- 欧几里得算法模板
- 数据结构图之java实现
- NOIP2009Hankson的趣味题
- 正则表达式
- Elasticsearch 插入索引文档 和特殊的字段类型
- [java]插入排序及折半插入排序
- aidl原理解析