zoukankan      html  css  js  c++  java
  • 电梯调度

    一、题目要求

    基础大楼一共有四部电梯,每层都有人上下,电梯在每层都停。信1201-1班的张一东觉得在每层都停觉得不耐烦。
    由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层。在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。
    问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少。

    二、设计思想遍历从1层到18层,计算电梯在每一层停后乘客爬楼梯的层数,然后比较层数,找到最小的层数,求出此时电梯停在几层即可。

    三、源代码

     1 // 信1201-2班 司新红
     2 #include "stdafx.h"
     3 #include "iostream"
     4 using namespace std;
     5 #include "math.h"
     6 
     7  int main()
     8  {
     9      int n;//上电梯的人数
    10      int people[20];
    11      int sum[20];//计算所走的楼层数
    12      cout<<"请输入有多少人坐电梯:"<<endl;
    13      cin>>n;
    14      for(int i=0;i<n;i++)
    15      {
    16          cout<<"请输入要到的楼层:"<<endl;
    17          cin>>people[i];
    18      }
    19      for(int i=0;i<18;i++)
    20      {
    21          int s=0;
    22          for(int j=0;j<n;j++)
    23          {
    24              int b=
    25              s=s+abs(people[j]-(i+1));
    26          }
    27          sum[i]=s;
    28      }
    29      int a=0;
    30      int max=sum[0];
    31      for(int i=0;i<18;i++)
    32      {
    33          if(sum[i]<sum[0])
    34          {
    35              sum[0]=sum[i];
    36              a=i+1;
    37          }
    38      }
    39      cout<<"电梯应停留的层数为:"<<a<<endl;
    40      return 0;
    41  }

    四、运行结果

    五、心得体会

    在编写程序的时候遇到了一个困难,就是编译没有错但是无论怎样输入,输入结果都是18,后来发现忘了写绝对值了,后来我通过查资料解决了这个问题。

  • 相关阅读:
    每周进度及工作量统计——2016.10.06-2016.10.13
    SCRUM站立会议模拟
    java词频统计——web版支持
    每周进度及工作量统计——2016.9.22--2016.9.29
    简易四则运算生成程序——第一次改进后的单元测试
    java词频统计——改进后的单元测试
    第一次通读《构建之法》阅读笔记
    centOS6.5网络配置
    webpack安装
    CommonJS和AMD/CMD
  • 原文地址:https://www.cnblogs.com/zgsxh/p/4438137.html
Copyright © 2011-2022 走看看