李欣容
(李欣容 吾意随风)
1
1. 数字排序
题目ID:9730必做题100分
最新提交:
Runtime Error
0 分
历史最高:
Runtime Error
0 分
时间限制: 200ms
空间限制: 65535kB
题目描述
时间:0.2s 空间:64M
【题目描述】
给定 N 个正整数,请将它们按照从小到大升序排列并输出。
【输入描述】
第一行是一个数字 N,代表共有 N 个数字。
接下来的 N 行每行包含一个正整数a[i]。(1≤N≤5000,1≤a[i]≤10^500)
【输出描述】
输出 N 行,为输入数据从小到大升序排序后的结果
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int main(){
int n;
cin>>n;
long double a[n];
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n-1;i++){
for(int j=1;j<=n-i;j++){
if(a[j]>a[j+1]){
swap(a[j],a[j+1]);
}
}
}
for(int k=1;k<=n;k++){
cout<<std::fixed<<std::setprecision<<a[k];
cout<<endl;
}
return 0;
}
楼逸杨
(楼逸杨)
2
a[i]小于10的500次方看了吗 @李欣容
给个样例
王语道
(Molonopy)
7
不是写了using namespace std;了吗,为什么还要在前面加std::
还有你的去重在哪QWQ
王泽元
(王泽元)
10
#include <bits/stdc++.h>
using namespace std;
int n,max,y,z,sum=0;
string a[5005]={};
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n-1;i++){
for(int j=1;j<=n-i;j++){
if(a[j].size()>a[j+1].size()||a[j].size()==a[j+1].size()&&a[j]>a[j+1]) swap(a[j],a[j+1]);
}
}
for(int i=1;i<=n;i++){
cout<<a[i]<<endl;
}
return 0;
}
俞天行
(Star lit Journey「y.t.x」)
12
它的代码用了冒泡排序,像 不干人事的楼某#%¥@#¥ 所说的
所以要把int类型的数字变成string类型的字符串,
核心比较部分这么写是因为字符串之间是按字典序的,
比如字符串LOU YI YANG HAO MEI,和CAI LAO SHI HAO SHUAI,
如果要比较,肯定是字符串2大,但是数字比较不是,先比有几个数位,在一个一个比
PS @王泽元 你不撤回AC代码我就举报了