Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 电梯容量_C#_For Loop - Fatal编程技术网

C# 电梯容量

C# 电梯容量,c#,for-loop,C#,For Loop,我在学校有这个问题。我知道我几乎是对的,但似乎我在代码的某个地方遇到了问题。问题是,我有两个由用户输入的值。第一个(n)是想要进入电梯的人数,第二个(p)是电梯可以容纳的人数。问题是,为了把所有的人都带到选定的楼层,电梯将进行多少次行程 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace

我在学校有这个问题。我知道我几乎是对的,但似乎我在代码的某个地方遇到了问题。问题是,我有两个由用户输入的值。第一个(n)是想要进入电梯的人数,第二个(p)是电梯可以容纳的人数。问题是,为了把所有的人都带到选定的楼层,电梯将进行多少次行程

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Elevator
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int p = int.Parse(Console.ReadLine());

            int elevatorTrips = 0;
            elevatorTrips = n / p;

            if (elevatorTrips % 10 != 0)
            {
                elevatorTrips += 1;
                Console.WriteLine(elevatorTrips);
            }
            else {
                Console.WriteLine(elevatorTrips);
            }
        }
    }
}

我想这应该可以。使用

从MSDN:

返回大于或等于指定的双精度浮点数的最小整数值


DotNet Fiddle:

TotalNumberOfPeople
除以
ElevatorCapacity
,得到一个
double
的答案,然后将其四舍五入到第一个较大的
int
,这样你就可以知道你是否有小数了。这样,如果您有一个十进制数,它将被转换为1(并添加到最终结果)


附言:你可以把
0.5
加到
double
的答案中,然后简单地把它赋给另一个int变量,你就会得到你的最终解决方案;假设我们有
13
人排队,电梯的载客量是
3
,那么答案是
5

  4 turns with 3 peoples
  1 turn  with 1 people
你能看到图案吗<代码>人员/容量在电梯满载时跳闸,可能在电梯部分装载时额外跳闸。而且解决办法很简单

  int capacity = 3;
  int peoples = 13; 

  int trips = peoples / capacity + (peoples % capacity != 0 ? 1 : 0);
在您当前的实现中

  if (elevatorTrips % 10 != 0)

这是错误的:什么神奇的数字
10
代表什么?

当你运行代码时,你有什么确切的问题?只有在除法后有一个分数时才会发生吗?离题。您是否调试了代码以查看它需要多少次?循环
n-p
,直到它成为
问题是:这10次从何而来?有更好的价值吗?试着用大量不同的输入测试你的工作,分别是
n
p
,看看它们是否都得到了很好的结果。为什么不把
的答案分成两部分,然后把它凑起来呢??
  if (elevatorTrips % 10 != 0)