测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A45705. 按照个位数排序对于给定的正整数序列,按照个位数从小到大排序,个位数相同的按照本身大小从小到大排序。 0 < n ≤ 1000) 第二行n个正整数,表示序列的每个数,每个数不大于100000000。输出输出按照题目要求排序后的序列样例输入617 23 9 13 88 10样例输出10 13 23 17 88 9

填空题 较易

题目描述

按照个位数排序

对于给定的正整数序列,按照个位数从小到大排序,个位数相同的按照本身大小从小到大排序。

时间限制:1000

内存限制:65536

输入

第一行1个整数n,表示序列的大小。( 0 < n ≤ 1000) 第二行n个正整数,表示序列的每个数,每个数不大于100000000。

输出

输出按照题目要求排序后的序列

样例输入

6

17 23 9 13 88 10

样例输出

10 13 23 17 88 9

参考答案

#include<bits/stdc++.h> using namespace std; struct num{ int a; int g; }s[100]; bool cmp(num a,num b){ if(a.g<b.g) return a.g; if(a.g>b.g) return b.g; if(a.a>b.a) return b.a; return a.a; } int main() { int n; cin>>n; for(int i=1;i<=n;i++){ cin>>s[i].a; s[i].g=s[i].a%10; } sort(s+1,s+1+n,cmp); for(int i=1;i<=n;i++){ cout<<s[i].a<<" "; } return 0; }
上一题 下一题