Run ID:153301

提交时间:2026-05-14 15:30:27

#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; while (n--) { // 循环 n 组数据 int a[10000] = {0}; int sum = 0; string s; cin >> s; int len = s.size(); int j = 0; for (int i = 0; i < len; i++) { if (s[i] != '5') { sum = sum * 10 + (s[i] - '0'); } else { // 只有当前面真的读过数字,才存入数组 if (i > 0 && s[i-1] != '5') { a[j++] = sum; sum = 0; } } } // 最后一段数字一定要存(包括 0) if (len > 0 && s.back() != '5') { a[j++] = sum; } // 冒泡排序 for (int i = 0; i < j - 1; i++) { for (int z = i + 1; z < j; z++) { if (a[i] > a[z]) { swap(a[i], a[z]); } } } // 输出 for (int i = 0; i < j; i++) { cout << a[i] << " "; } cout << endl; } return 0; }