問題描述
給定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...