按照个位数排序
描述
对于给定的正整数序列,按照个位数从小到大排序,个位数相同的按照本身大小从小到大排序。
输入
第一行1个整数n,表示序列的大小。 ( 0<n <=1000)第二行n个正整数,表示列的每个数,每个数不大于100000000.
输出
按照题目要求排序后的序列 .
输入样例 1
6
17 23 9 13 88 10
输出样例 1
10 13 23 17 88 9
语言:
C++
这是我的代码,我自己测的时候是对的,但不知道为什么过不了?
求各位帅哥美女AI们修改
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
long long a[n],b[n];
for(int i=0;i<n;i++){
cin>>a[i];
b[i]=a[i]%10;
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(b[i]>b[j]){
swap(b[i],b[j]);
swap(a[i],a[j]);
}else if(b[i]==b[j]){
if(a[i]>a[j]){
swap(a[i],a[j]);
}
}
}
}
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
return 0;
}