XDOJ數字排序 選號程式

2021-10-01 10:55:25 字數 2063 閱讀 4490

問題描述

給定n個整數,請計算每個整數各位數字和,按各位數字和從大到小的順序輸出。

輸入格式

輸入的第一行包含乙個整數n,表示給定數字的個數。

第二行包含n個整數,相鄰的整數之間用乙個空格分隔,表示所給定的整數。

輸出格式

輸出多行,每行包含兩個整數,分別表示乙個給定的整數和它的各位數字和。按各位數字和遞減的順序輸出。如果兩個整數各位數字和相同,則先輸出值較小的,然後輸出值較大的。

樣例輸入

5101 100 999 1234 110

樣例輸出

999 27

1234 10

101 2

110 2

100 1

評測用例規模與約定

1 ≤ n ≤ 1000,給出的數都是不超過10000的非負整數。

#include

#include

intmain()

for(i=

0;i) b[i]

=a[i]

;for

(i=0

;i) add[i]=0

;//當時比較愚蠢,add陣列記錄的是數字和(應該命名為sum並且初始化用 int add[1000]=)

for(i=

0;i)//此處要獲取數字和,因此a陣列中的資料會發生改變

add[i]

+=a[i];}

//對add進行排序:冒泡一下

for(i=

0;i1;i++)}

}for

(i=0

;i1;i++)}

}for

(i=0

;i)//輸出

}

同類題:

標題類別

流程控制

時間限制

1s記憶體限制

256kb

問題描述

小明決定申請乙個新的qq號碼,系統隨機生成了若干個號碼供他選擇。小明的選號原則是:

選擇所有號碼中各位數字之和最大的號碼。

如果有多個號碼各位數字之和相同則選擇數值最大的號碼。

請你寫乙個程式幫助小明選擇乙個qq號碼。

輸入說明

輸入資料由兩行構成,第一行為乙個整數n表示有n個待選號碼(0輸出說明

輸出根據小明的選號原則選出的號碼。

輸入樣例

510000 11111 22222 333 1234

輸出樣例

22222

答案略,沒發現是一樣的嗎

將n個整數按從小到大排序的氣泡排序法是這樣工作的:從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃瞄,則最後乙個元素必定是最大的元素。然後用同樣的方法對前n−1個元素進行第二遍掃瞄。依此類推,最後只需處理兩個元素,就完成了對n個數的排序。

本題要求對任意給定的k(輸入格式:

輸入在第1行中給出n和k(1≤k輸出格式:

在一行中輸出氣泡排序法掃瞄完第k遍後的中間結果數列,數字間以空格分隔,但末尾不得有多餘空格。

輸入樣例:

6 22 3 5 1 6 4

輸出樣例:

2 1 3 4 5 6

#include

intmain

(void

)for

(i=0

;i}for

(i=0

;i1;i++

)printf

("%d"

,a[n-1]

);return0;

}

排序過程:(預設公升序)

從原序列中找到最小值,與陣列第乙個元素交換;

除第乙個元素外,從剩下未排序的序列中找到最小值,與陣列第二個元素交換;

共n-1趟,每趟都找到未排序的最小值,放到已排序的序列後面。

void

sort2

(int n,

int a)

t=a[k]

;a[k]

=a[i]

;a[i]

=t;}

}

XDOJ 135 拼數字排序

第一次寫部落格,本人小白乙個,但我會不斷學習的。拼數字排序是xdoj上一道四星題,當時寫對字串還沒那麼熟悉,所以卡了好久,還問了老師 雖然問了她也沒幫我解決 問題描述 對於輸入的字串 只包含字母和數字 將其中的連續數字拼接成整數,然後將這些整數按從大到小順序輸出。例如字串 abc123d5e7f22...

50 小明選號 排序

問題描述 小明決定申請乙個新的qq號碼,系統隨機生成了若干個號碼供他選擇。小明的選號原則是 選擇所有號碼中各位數字之和最大的號碼。如果有多個號碼各位數字之和相同則選擇數值最大的號碼。請你寫乙個程式幫助小明選擇乙個qq號碼。輸入說明 輸入資料由兩行構成,第一行為乙個整數n表示有n個待選號碼 0輸出說明...

XDOJ快速排序

問題描述 採用快速排序演算法,排序輸入的n個整數,prvotkey 樞軸 每次選取陣列第乙個數。輸出快速排序第一趟排序的結果。輸入格式 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數,空格隔開。輸出格式 按照要求排序後輸出,由空格分隔。樣例輸入 50 10 90 30 70 4...