绝对值排序
来源:互联网 发布:sql查询分析器在破解 编辑:程序博客网 时间:2024/06/06 17:23
Description
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
Input
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行
Sample Input
3 3 -4 2
4 0 1 2 -3 0
Sample Output
-4 3
2 -3 2 1 0
绝对值转换
int 型abs(int x);long 型labs(int x);浮点数 float doublefabs(double x);
#include<stdio.h> #include<math.h> #define N 101void quick_sort(int s[], int l, int r){ int i, j, x; if (l < r) { i = l; j = r; x = s[i]; while (i < j) { while (i < j && abs(s[j]) > abs(x)) j--; /* 从右向左找第一个绝对值小于x的数 */ if (i < j) s[i++] = s[j]; while (i < j && abs(s[i]) < abs(x)) i++; /* 从左向右找第一个绝对值大于x的数 */ if (i < j) s[j--] = s[i]; } s[i] = x; quick_sort(s, l, i - 1); /* 递归调用 */ quick_sort(s, i + 1, r); }}int main(){ int n, i, j, a[N], temp; while (scanf_s("%d", &n) && n != 0) { for (i = 0;i<n;i++) scanf_s("%d", &a[i]); quick_sort(a, 0, n - 1); for (i = n-1;i>0;i--) printf("%d ", a[i]); if (i == 0) printf("%d\n", a[i]); else break; } return 0;}
总结:同样是快速排序,最后需要输出一个换行符,否则报PE
阅读全文
0 0
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- 绝对值排序
- Python简单的名片管理器
- Python字典以及常见的操作
- Python元组
- 数组-leetcode 283. Move Zeroes
- 排序练习
- 绝对值排序
- css画半圆进度条
- Sublime MinGw实现C/C++代码编译运行
- hdu 5143 NPY and arithmetic progression(枚举)
- MongoDB基本介绍及一些用法
- UVA 1585 Score
- 118A
- 简单数据结构(队列 栈 树 堆 )
- aidl实现步骤