0
已解决
周明轩
资深光能
资深光能
题目描述 Description
现在有n(不超过50000)个小数(小数点后有2位),范围在-9.99~9.99,不包含0,从大到小排序输出
输入描述 Input Description
第一行输入一个整数n(不超过50000)
接下来n行,每行输入一个小数(-9.99~9.99,不包含0)
输出描述 Output Description
排序后,输出n个空格隔开的小数,保留2位小数
样例输入 Sample Input
5 -1.10 2.51 -3.21 4.45 2.12
样例输出 Sample Output
4.45 2.51 2.12 -1.10 -3.21
怎么做,求思路。
0
已采纳
邹昊轩
资深光能
资深光能
输入:for循环{
cin>>a;
b=b+10;
a[int(b*1000)]++;
}
输出:
for循环(int i=50000;i>=1;i--)
for(int j=1;j<=b[i];j++)
{
cout<<(double)(i-10)/1000<<" ";
0
0
张恩泽
高级天翼
高级天翼
用桶
先循环n次输入:
for(循环n次)
{
输入t
a[(int)(t*1000+10000)]++;
}
这样输出:
for(从19990循环到10){
while(a[i]--){
保留小数输出("%.2f ",(i-10000)/1000.0);
}
}
0
蔡乐毅
高级光能
高级光能
for(int i=1;i<=n;i++){
cin>>t;
a[(int)(t*1000)+10000]++;
}
for(int i=19990;i>=10;i--){
while(a[i]--){
printf("%.2f ",i/1000.0-10);
}
}
0