中央論壇 - CENTER BBS

標題: 各位大大請幫忙解答已經投降的題目~急急~ [打印本頁]

作者: sf15989    時間: 2009-10-27 23:52
標題: 各位大大請幫忙解答已經投降的題目~急急~
有一數字問題,可以透過其最大值與最小值的差值,進行一連串的計算。
計算過程如下:
先將該數依照數字由大排到小,形成新的數字。例如該數為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





歡迎光臨 中央論壇 - CENTER BBS (https://www.centerbbs.com/) Powered by Discuz! X3