C#:某城市最高的樓只有一部電梯,計算每個序列電梯執行的時間
阿新 • • 發佈:2021-01-22
一、執行效果截圖
二、實驗要求
題目:
某城市最高的樓只有一部電梯。該電梯和一般電梯不同的是它依照輸入樓層數的先後次序執行。
電梯最初在0層。執行完一個輸入序列後就停止在該樓層,不返回0層。
編寫程式計算電梯執行一個序列的時間。
每次都假設電梯在0層開始,無論上一次執行到幾層。
電梯每上1層需要6秒。
每下1層需要4秒。
如在某層停留,無論上下人多少,均停留5秒。
輸入:樓層的值大於等於1,小於100 ,結尾輸入一個0表示結束輸入。
輸出:計算每個序列電梯執行的時間。
示例:
輸入:
2 1 0
輸出:
26
三、程式碼示例
//author---Henan University.software engineering.李思佳 using System; namespace ConsoleApp4 { class Program { static void Main(string[] args) { Console.WriteLine("請輸入電梯執行序列,空格隔開,以0結束(樓層的值大於等於1,小於100):"); var s = Console.ReadLine(); string[] ss = s.Split(' '); int time = 0; int s0 = Convert.ToInt32(ss[0]); if (s0==0) { Console.WriteLine("該序列電梯執行時間為:{0},沒有執行。", time); } else if(s0<0||s0>=100) { Console.WriteLine("您輸入的樓層不符合要求!"); Console.WriteLine("該序列電梯執行時間為:{0},沒有執行。", time); } else { time = s0 * 6+5; for(int i=0;i<ss.Length-2;i++) { int a = Convert.ToInt32(ss[i]); int b = Convert.ToInt32(ss[i + 1]); if (b < 0 || b >= 100) { Console.WriteLine("您輸入的樓層不符合要求!"); time = 0; break; } if (b == 0) break; if (b - a > 0) { time += (b - a) * 6; } if (b - a < 0) { time += (a - b) * 4; } if (b == a) continue; time += 5; } Console.WriteLine("該序列電梯執行時間為 {0} 秒。", time); } Console.ReadLine(); } } }