想不出一個好的標題,就用這個吧
阿新 • • 發佈:2018-12-26
問題描述:
某城市最高的樓只有一部電梯。該電梯和一般電梯不同的是它依照輸入樓層數的先後次序執行。電梯最初在0層。執行完一個輸入序列後就停止在該樓層,不返回0層。編寫程式計算電梯執行一個序列的時間。每次都假設電梯在0層開始,無論上一次執行到幾層。電梯每上1層需要6秒。每下1層需要4秒。如在某層停留,無論上下人多少,均停留5秒。輸入:第一個數N指示後面將有N個樓層的序列,樓層的值大於等於1,小於100。N=0表示結束輸入。輸出:每個序列電梯執行的時間。
#include<iostream> using namespace std; int main() { int x[100],i,n,sum,k,up,down=0; cout<<"please enter the number of sequence:"<<endl; while(cin>>n) { if(n==0) return 0;//輸入'0'結束 for(i=0;i<n;i++)//輸入的序列不能有重複值 { cin>>x[i]; } up=k=x[0];//將第一個樓層數作為初始值 for(i=1;i<n;i++) { if(x[i]>k) { up+=(x[i]-k);//電梯向上的層數 k=x[i]; } else { down+=(k-x[i]);//電梯向下的層數 k=x[i]; } } sum=up*6+down*4+n*5;//電梯執行的時間 cout<<"電梯執行的時間為:"<<sum<<endl; } return 0; }
編譯執行結果如下: