题目描述对于给定的正整数序列按照个位数从小到大排序个位数相同的按照本身大小从小到大排序。输入格式第一行1个整数n表示序列的大小。 0 n ≤ 1000 第二行n个正整数表示序列的每个数每个数不大于100000000。输出格式输出按照题目要求排序后的序列用c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 比较函数,按照个位数从小到大排序,个位数相同的按照本身大小从小到大排序
bool compare(int a, int b) {
if (a % 10 != b % 10) {
return a % 10 < b % 10;
} else {
return a < b;
}
}
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
// 使用自定义的比较函数进行排序
sort(nums.begin(), nums.end(), compare);
// 输出排序后的序列
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
return 0;
}
``
原文地址: http://www.cveoy.top/t/topic/iC55 著作权归作者所有。请勿转载和采集!