#include #include using namespace std;

int first_digit(int x) { while (x >= 10) { x /= 10; } return x; }

bool cmp(int a, int b) { int fa = first_digit(a), fb = first_digit(b); if (fa != fb) { return fa < fb; } else { return a < b; } }

int main() { int n; cin >> n; int a[n]; for (int i = 0; i < n; i++) { cin >> a[i]; } sort(a, a + n, cmp); for (int i = 0; i < n; i++) { cout << a[i] << ' '; } return 0; }

C++ 代码实现:按首位数字排序正整数

原文地址: https://www.cveoy.top/t/topic/ov8d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录