绝对值排序
2017-03-27 16:06
155 查看
/*
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
*/
#include<iostream>
#include<cmath>
using namespace std;
int data[105];
int main()
{
int n;
while(cin>>n&&n!=0)
{
for(int i=1;i<=n;i++)
cin>>data[i];
for(int i=1;i<n;i++) //循环的次数比数字个数少1,因为是两两比较
for(int j=1;j<=n-i;j++) //因为是每次循环都是找到一个最大的,所以可以每次少1
if(abs(data[j])<=abs(data[j+1]))
{
int t;
t=data[j+1];
data[j+1]=data[j];
data[j]=t;
}
for(int i=1;i<=n;i++)
cout<<data[i]<<" ";
cout<<endl;
}
return 0;
}
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
*/
#include<iostream>
#include<cmath>
using namespace std;
int data[105];
int main()
{
int n;
while(cin>>n&&n!=0)
{
for(int i=1;i<=n;i++)
cin>>data[i];
for(int i=1;i<n;i++) //循环的次数比数字个数少1,因为是两两比较
for(int j=1;j<=n-i;j++) //因为是每次循环都是找到一个最大的,所以可以每次少1
if(abs(data[j])<=abs(data[j+1]))
{
int t;
t=data[j+1];
data[j+1]=data[j];
data[j]=t;
}
for(int i=1;i<=n;i++)
cout<<data[i]<<" ";
cout<<endl;
}
return 0;
}
相关文章推荐
- 1060:绝对值排序
- Hdu:2020 绝对值排序
- HDU 2020 绝对值排序
- 杭电ACM 2020:绝对值排序
- 杭电 2020 绝对值排序
- 杭电ACM--HDU-2020绝对值排序
- acm--绝对值排序
- HDU_2020——按绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序 http://acm.hdu.edu.cn/showproblem.php?pid=2020
- 【入门】绝对值排序 【排序】
- 求一个排序数组中绝对值最小的数
- [hdu 2020] 绝对值排序
- 绝对值排序解题报告
- hdu--2020 绝对值排序
- 杭电ACM 2020 绝对值排序
- 绝对值排序 oj36
- 绝对值排序
- hdu2020 绝对值排序(C语言)