2007年12月28日 星期五

C 程式設計期末作業,解題練習

作業內容:
有一數字問題,可以透過其最大值與最小值的差值,進行一連串的計算,

其計算過程如下:

一、先將該數依照數字由大排到小,形成新的數字。例如該數為14095,排列完變成95410。

二、再將該數依照數字由小排到大,形成另一個新的數字。例如該數為14095,排列完變成1459。

三、將大的數減去小的數字,所得的差值,取代該數。

四、重複一至三的步驟,直到第三步的差值已經在前面出現過為止。

輸入的值最大為六位數,當輸入為 0 時,則停止。

作業要求:顯示原始輸入數字、顯示最大數與最小數相減結果、顯示數字鏈的長度。

執行範例:
94510
Original number was 94510
95410 - 1459 = 93951
99531 - 13599 = 85932
98532 - 23589 = 74943
97443 - 34479 = 62964
96642 - 24669 = 71973
97731 - 13779 = 83952
98532 - 23589 = 74943
Chain length 7

3412
Original number was 3412
4321 - 1234 = 3087
8730 - 378 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
Chain length 4

777
Original number was 777
777 - 777 = 0
0 - 0 = 0
Chain length 2

0

期末作業解答
回到作業目錄
回到首頁

沒有留言: