2007年9月6日 星期四

C 程式設計作業四,迴圈與解決問題

作業內容:
以下是我們編的童話故事。
在一口井裡,住著一對蝸牛兄弟,他們自幼感情好,經常在一起玩耍,蝸牛哥哥練就著一身快速攀爬的工夫,但是手腳雖快,卻容易疲累 (動作快當然耗體力囉)。蝸牛弟弟則是練就著超強的抓地力(就是體液超過,全身黏乎乎)。蝸牛兄弟在井裡過的很快活,有得吃,有得玩,沒事還打打電動 (編成這樣,真是太扯了)。
終於有一天,他們兄弟倆突然想要去外面的世界看看,蝸牛哥哥居然說,我們來比賽,看誰可以先出去。因為井蠻高的,要爬出去可不是一天兩天,但是,蝸牛兄弟二人(隻)都信心滿滿,總以為自己的本事超強,可以贏過對方,等到比賽開始,他們各自發現一個現象。
蝸牛哥哥發現自己白天會爬一段高度,到晚上一定要休息,第二天要開始爬時,發現因為地心引力關係,又向井中滑去(滑固定的距離),剛開始,白天向上的高度會比晚上滑下來的距離長,可是愈爬愈累,每天向上的高度都會比前一天固定少一點,他開始擔心,會不會還沒到頂,他就沒力氣,再也爬不動了。假設他第一天向上三公尺,晚上固定滑下來二公尺,以後的日子,每天都比前一天少爬20公分,如下表顯示每日變化
開始時的高度白天爬完後的高度晚上下滑後的高度
第一天0 公尺3 公尺1 公尺
第二天1 公尺3.8 公尺1.8 公尺
第三天1.8 公尺4.4 公尺2.4 公尺
第四天2.4 公尺4.8 公尺2.8 公尺

蝸牛弟弟發現自己白天也會爬一段高度(是固定的,但是沒哥哥爬的多),到晚上也一定要休息,但因為比較黏,所以晚上會滑下來的距離卻比哥哥少,但是黏液每天消耗,也會逐漸黏不住,每天晚上下滑的距離,都會比前一天多下滑一個固定的距離。例如他每天固定向上爬二公尺,第一天晚上只下滑一公尺,之後,每天晚上多下滑30公分。每日變化如下表顯
開始時的高度白天爬完後的高度晚上下滑後的高度
第一天0 公尺2 公尺1 公尺
第二天1 公尺3 公尺1.7 公尺
第三天1.7 公尺3.7 公尺2.1 公尺
第四天2.1 公尺4.1 公尺2.2 公尺

作業要求:
1. 這個作業要能知道誰可以爬到頂?或滑回底?發生在第幾天?
2. 你會獲得的資料,包括井的高度、和蝸牛兄弟二人(隻)的能力,各有三個數字,分別是向上、向下、和疲勞影響/黏液影響,單位都是公尺。
測試方式:
輸入範例:第一行只有一個值,代表井的高度;第二行是哥哥的資料,第三行是弟弟的資料。
範例一:
5.2
3.0 2.0 0.2
2.0 0.7 0.3
範例二:
5.8
4.0 2.0 0.2
2.0 0.8 0.3
輸出範例:
範例一解答:
在第 11 天,哥哥失敗滑回底。
在第 5 天,弟弟成功爬到頂。

範例二解答:
在第 3 天,哥哥成功爬到頂。
在第 10 天,弟弟失敗滑回底。

作業四解答
回到作業目錄
回到首頁

8 則留言:

網路路人丙 提到...

蝸牛弟弟 每天的上下移動表有誤,應改為:
第一天 0 公尺 2 公尺 1 公尺
第二天 1 公尺 3 公尺 1.7 公尺
第三天 1.7 公尺 3.7 公尺 2.1 公尺
第四天 2.1 公尺 4.1 公尺 2.2 公尺

David Kuo 提到...

修改完,謝謝指正。

匿名 提到...

你好,請問我可以把這些題目做成一份詳解並張貼到自己的部落格嗎??
我會標明題目出處的

liangk 提到...

當然可以

一個人的胡言亂語 提到...

範例二的解答是不是錯了?
蝸牛哥哥應該在第二天的「白天」即可爬到頂
解答程式碼也是印出如此的結果

霹靂無敵昇龍拳=目 提到...

不好意思 請問
蝸牛弟弟每天晚上多下滑0.3m 那第五天時不就一晚就下滑2.2m了嗎
這樣怎麼爬也爬不到頂吧?

321 提到...

範例一、蝸牛弟弟的答案有錯吧?
每天疲勞度-0.3,到了第6天每天增加的高度就變成負的了怎麼可能爬得出去?
而且第五天因為疲勞度已經到了-1.2所以實際上白天只上升了0.8,加上目前高度3.4也沒有超過5.2阿

範例二、如前面的留言說的哥哥第2天白天就上升到井的高度5.8了

321 提到...

抱歉
範例一的高度我打錯了打成5.8,怪不得弟弟爬不出去....