HDJ2020绝对值排序
2015-07-20 20:50
204 查看
[align=center]绝对值排序[/align]
[align=left]Problem Description[/align]
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
[align=left]Input[/align]
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
[align=left]Output[/align]
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
[align=left]Sample Input[/align]
3 3 -4 2
4 0 1 2 -3
0
[align=left]Sample Output[/align]
-4 3 2
-3 2 1 0
/*
思路简单,代码明确
所使用的头文件
利用到冒泡排序法,在排序的时候利用绝对值函数abs();对所有的数去绝对值,在进行比较
*/
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,t;
int a[101];
while (scanf ("%d",&n)&&(n!=0))
{
for (i=0;i<n;i++)
{
scanf ("%d",&a[i]);
}
for (i=1;i<=n-1;i++)
for (j=0;j<=n-i-1;j++)
if (abs(a[j])<abs(a[j+1]))
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for (i=0;i<n-1;i++)
printf ("%d ",a[i]);
printf ("%d\n",a[i]);
}
return 0;
}
[align=left]Problem Description[/align]
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
[align=left]Input[/align]
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
[align=left]Output[/align]
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
[align=left]Sample Input[/align]
3 3 -4 2
4 0 1 2 -3
0
[align=left]Sample Output[/align]
-4 3 2
-3 2 1 0
/*
思路简单,代码明确
所使用的头文件
利用到冒泡排序法,在排序的时候利用绝对值函数abs();对所有的数去绝对值,在进行比较
*/
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,t;
int a[101];
while (scanf ("%d",&n)&&(n!=0))
{
for (i=0;i<n;i++)
{
scanf ("%d",&a[i]);
}
for (i=1;i<=n-1;i++)
for (j=0;j<=n-i-1;j++)
if (abs(a[j])<abs(a[j+1]))
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for (i=0;i<n-1;i++)
printf ("%d ",a[i]);
printf ("%d\n",a[i]);
}
return 0;
}
相关文章推荐
- a+b问题.1
- qsort与sort
- UVA 10815(字符串)
- 2.5 创建主角;2.5.1 创建脚本
- 暑假-动态规划 I-(C- 免费馅饼)
- HDU 1233 简单最小生成树 prim算法
- static、final修饰符、内部类
- cocos2dx 3.x创建工程
- www外部加载
- 多线程程序设计学习(8)Thread-Per-Message
- UVA 537
- UITabBar自定义方式二(容器类控制器)
- java内存泄露
- 简单一招实现json数据可视化
- MYSQL使用二进制日志来恢复数据
- Linux mmap函数简介
- 【计蒜客系列】挑战难题17:x的平方根
- 【手势交互】7. 凌指
- 计蒜课 二分查找法
- 百易时代C++面试题