搜索
熱搜: 活動 交友 discuz
查看: 8778|回復: 0
打印 上一主題 下一主題

[求助] 各位大大請幫忙解答已經投降的題目~急急~

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-10-27 23:52:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
有一數字問題,可以透過其最大值與最小值的差值,進行一連串的計算。
計算過程如下:
先將該數依照數字由大排到小,形成新的數字。例如該數為14095,排列完變成95410。
再將該數依照數字由小排到大,形成另一個新的數字。例如該數為14095,排列完變成1459。
將大的數減去小的數字,所得的差值,取代該數。
重複一至三的步驟,直到第三步的差值已經在前面出現過為止。
輸入的值最大為六位數,當輸入為 0 時,則停止。
要求:顯示原始輸入數字、顯示最大數與最小數相減結果、顯示數字鏈的長度。

你該做的事情有四件
將輸入的整數,轉換成陣列,不能一開始就直接用陣列來讀取唷,要自己轉換。
將轉換完的陣列,以大到小的順序,轉換成整數。
同上,不過是以小到大的順序。
將大數減小數後的結果,存到一個陣列裡,並且判斷之前有沒有出現過,有出現過就停止運算。

你需要
將數字轉換成陣列,再轉換回來的能力。
將陣列做排序的能力。
再陣列中搜尋某個數字的能力。
可以參考以前教過得泡沫排序、還有搜尋

如何將數字轉換成陣列再換回來,請參考附檔InverseInteger.c。

InverseInteger.c
#include <stdio.h>
#include <stdlib.h>

int main(void){
   
    int input,output=0;
    int integer[10] = {0};
    int i,count=0;
    int multiplicand=1;
   
    printf("Please enter a value : ");
    scanf("%d",&input);
   
   

e1.JPG (43.36 KB, 下載次數: 49)

e1.JPG

e2.JPG (44.14 KB, 下載次數: 50)

e2.JPG
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

本論壇為非營利之網路平台,所有文章內容均為網友自行發表,不代表論壇立場!若涉及侵權、違法等情事,請告知版主處理。


Page Rank Check

廣告刊登  |   交換連結  |   贊助我們  |   服務條款  |   免責聲明  |   客服中心  |   中央分站

手機版|中央論壇

GMT+8, 2024-5-5 16:59 , Processed in 0.022389 second(s), 20 queries .

Powered by Discuz!

© 2005-2015 Copyrights. Set by YIDAS

快速回復 返回頂部 返回列表