zoukankan      html  css  js  c++  java
  • 课堂小练习—电梯

    一题目及要求

    由于楼层不太高,在上下课高峰期时时,电梯从一层上行,但只允许停在某一楼层。在一楼时,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。 问电梯停在那一楼层,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少。

    二.设计思路

    1.先计算出所输入的楼层里最高的层数Max

    2.从1遍历到Max,求出每一次的所走楼层和,找出最少的并且输出。

    三.源代码

    // Elevator.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include<iostream.h>
    #define MAX 15                  //电梯最大承载人数
    
    //计算数组中最高的楼层
    int max_array(int a[],int num)
    {
        int floor=1;
        for(int i=0;i<num;i++)
        {
            if(floor<a[i])
            {
                floor=a[i];
            }
        }
        return floor;
    }
    
    //两个数求差,大数减小数
    int cha(int a,int b)        
    {
        int sum=0;
        if(a>=b)
        {
            sum=a-b;
        }
        else
        {
            sum=b-a;
        }
        return sum;
    }
    //计算电梯应该到哪一层停
    int answer(int a[],int num)    
    {
        int floor,max,sum=0,temp;
        max=max_array(a,num);
        for(int i=0;i<num;i++)    //令sum为数组的和
        {
            sum=sum+a[i];
        }
        for(i=1;i<=max;i++)        //在1楼和最高楼层之间遍历
        {
            temp=0;
            for(int j=0;j<num;j++)//计算在每一层需要走的楼层数的和
            {
                temp=temp+cha(i,a[j]);
            }
            if(sum>=temp)        //将走的最少的楼层的和赋值给floor
            {
                floor=i;
                sum=temp;
            }
        }
        return floor;
    }
    int main()
    {
        int floor[MAX];
        int num=0;
    
        cout<<"请输入电梯中的人数(最多15人):";
        cin>>num;
    
        cout<<"请输入要到达的楼层(最高为18层):";
        for(int i=0;i<num;i++)
        {
            cin>>floor[i];
        }
    
        cout<<"电梯应该到第"<<answer(floor,num)<<"层停"<<endl;
        return 0;
    }

    四.结果及截图

    五.心得体会

    1.程序中有的算法和数学关系比较密切,对程序员来说,数学也很重要。

    2.写程序之前,你可能觉得麻烦,有点困难,但是把它分成一步一步,这样思路清晰,也方便实现。

  • 相关阅读:
    kubernetes集群系列资料20-metric介绍
    kubernetes集群系列资料19-dashboard介绍
    kubernetes集群系列资料18--K8S证书
    kubernetes集群系列资料16--helm介绍
    云安全产品使用---文件存储
    kubernetes集群系列资料15--安全机制介绍
    kubernetes集群系列资料14--scheduler介绍
    kubernetes集群系列资料17--prometheus介绍
    云安全产品使用---云安全中心
    kubernetes集群系列资料13--存储机制介绍
  • 原文地址:https://www.cnblogs.com/menglikanhualuo/p/4439275.html
Copyright © 2011-2022 走看看