I:倒置排序
- 总时间限制:
- 1000ms
- 内存限制:
- 32767kB
- 描述
-
将一些整数按倒置值排序后输出. 所谓倒置,是指把整数各位倒过来构成一个新数,例如:13倒置成了31.
- 输入
- 第一行的整数N表示后面列出的组数。每组数的第一个整数n表示后面将有n个整数。(每组数据量不超80)
- 输出
- 将每组数按倒置值进行排序输出.其每组数的结果占一行.
- 样例输入
-
2 4 83 13 24 36 4 99 100 123 12345
- 样例输出
-
13 83 24 36 100 99 123 12345
1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 int daozhi(int a) 5 { 6 int m = 0; 7 while (a != 0) 8 { 9 m = 10 * m + a % 10; 10 a /= 10; 11 } 12 return m; 13 } 14 int main() 15 { 16 int n, a[81], b[81]; 17 cin >> n; 18 int m; 19 for (int i = 0; i < n; ++i) 20 { 21 cin >> m; 22 for (int j = 0; j < m; ++j) 23 { 24 cin >> a[j]; 25 b[j] = daozhi(a[j]); 26 } 27 for (int x = 0; x < m - 1; ++x) 28 { 29 for (int y = 0; y < m - 1 - x; ++y) 30 { 31 if (b[y] > b[y + 1]) 32 { 33 swap(b[y], b[y + 1]); 34 swap(a[y], a[y + 1]); 35 } 36 } 37 } 38 for (int j = 0; j < m; ++j) 39 { 40 cout << a[j] << " "; 41 } 42 cout << endl; 43 } 44 45 return 0; 46 }
道阻且长,行则将至