輸入一行數字,如果我們把這行數字中的『5』都看成空格,那麼就得到一行用空格分割的若干非負整數(可能有些整數以『0』開頭,這些頭部的『0』應該被忽略掉,除非這個整數就是由若干個『0』組成的,這時這個整數就是0)。
你的任務是:對這些分割得到的整數,依從小到大的順序排序輸出。
輸入包含多組測試資料。每組輸入資料只有一行數字(數字之間沒有空格),這行數字的長度不大於1000。
輸入資料保證:分割得到的非負整數不會大於100000000,輸入資料不可能全由『5』組成。
對於每個測試用例,輸出分割得到的整數排序的結果,相鄰的兩個整數之間用乙個空格分開,每組輸出佔一行。
0 77 12312320這道題的坑點巨多:
1.考慮輸入為0000,0000001等不含5的情況!
2.考慮含有多個5的情況
3.抹去數前多個0的情況
我的**比較冗長:
#include
#include
#include
typedef
long
long ll;
using namespace std;
ll qsort
(ll a,
int low,
int high)
//排序我用了快排,嫌煩的話可以直接呼叫sort函式
a[first]
= a[last]
;while
(first < last && a[first]
<= key)
a[last]
= a[first];}
a[first]
= key;
qsort
(a, low, first -1)
;qsort
(a, first +
1, high);}
intmain()
}if(flag)
//輸入的數不含5的情況}if
(flag) cout <<0;
}else
//後面含有5的情況
a[u++
]= w;}}
for(
int i =
0; i < t; i++)}
if(flag)
for(
int j = n; j >= m; j--
) a[u++
]= w;}}
qsort
(a,0
, u -1)
;for
(int i =
0; i < u; i++
) cout << endl;
}}
C語言程式設計 9 6 分割排序
輸入一行數字,如果我們把這行數字中的 5 都看成空格,那麼就得到一行用空格分割的若干非負整數 可能有些整數以 0 開頭,這些頭部的 0 應該被忽略掉,除非這個整數就是由若干個 0 組成的,這時這個整數就是0 你的任務是 對這些分割得到的整數,依從小到大的順序排序輸出。輸入 每組輸入資料只有一行數字 ...
千分位分割
格式化數字 67235943 為貨幣金額顯示方式 67,235,943要怎麼做,這是暫時不考慮有小數的形式 採用正則替換,呼叫字串replace方法 67235943 replace d d g,1,如果有小數部分,如 67235943.4687 此時如果只格式化整數部分,採用上面的正則,不過要稍微...
2 4 分割鍊錶
template typename t singlylinkednode partition singlylinkednode head,t partition singlylinkednode newhead head singlylinkednode newtail head singlylin...