2010年4月14日 星期三

C98009: 作業九:捷運售票機(解答)

設一個變數算到達時間剪掉上一次的完成時間,假如是第一個客人當然不用等

第二個以後假如算出來是負的代表這個顧客需要等待,

所以設個wait變數將算出來的數轉為正數,再將運算的變數歸0

最後完成就是時間要加10秒運作時間

將算出來的等待時間與完成時間輸入進儲列


int come = int.Parse(line);
comeTotal += come;
int comewait = comeTotal - finish ;
int wait = 0;
if (i == 0)
{
wait = 0;
i++;
}
if (comewait < 0)
{
wait = -comewait;
comewait = 0;
}
finish = finish + comewait + 10;
waitTime.Enqueue(wait);
finishTime.Enqueue(finish);

程式的最後將儲列裡的等待時間與完成時間取出列印即完成作業

int cases = 1;
foreach (int w in waitTime)
{
Console.WriteLine("#{0}: waited {1}, finished {2}",cases,w,finishTime.Dequeue());
cases++;
}

作業九題目
回C#語言教學目錄
回首頁

沒有留言: