您的位置:首页 > 其它

HDU2020 绝对值排序

2015-01-29 22:51 204 查看
#include <stdio.h>

#define abs(x) (x>0?x:-x)

void swap(int *a, int *b) {
int t;
t = *a;
*a = *b;
*b = t;
}

int
main(int argc, char **argv) {
int n;
int num[105];
int num_abs[105];
int i, j;

while (scanf("%d", &n) == 1 && n != 0) {
for (i = 0; i < n; ++ i) {
scanf("%d", &num[i]);
num_abs[i] = abs(num[i]);
}
for (i = 0; i < n - 1; ++ i) {
for (j = i + 1; j < n; ++ j) {
if (num_abs[i] < num_abs[j]) {
swap(num_abs + i, num_abs + j);
swap(num + i, num + j);
}
}
}
for (i = 0; i < n - 1; ++ i)
printf("%d ", num[i]);
printf("%d\n", num[n - 1]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: