hdu-2020

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2020

绝对值排序

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 68885    Accepted Submission(s):
33121

Problem 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

思路:循环,用绝对值来比较大小,然后排序

难度:简单题,不知道为什么我不能用fabs(),所以就自己写了个函数==

代码:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int th(int);
 5     int n,i,j,b,a[100];
 6     while(scanf("%d",&n)!=EOF)
 7     {
 8         if(n==0)
 9             break;
10      for(i=0;i<n;i++)
11             scanf("%d",&a[i]);
12      for(i=0;i<n;i++)
13      for(j=i;j<n;j++)
14         if(th(a[i])<th(a[j]))
15         {
16             b=a[i];
17             a[i]=a[j];
18             a[j]=b;
19         }
20         for(i=0;i<n-1;i++)
21             printf("%d ",a[i]);
22             printf("%d\n",a[i]);
23     }
24     return 0;
25 }
26
27 int th(int a)
28 {
29     if(a>=0)
30         return a;
31     else return -a;
32 }
时间: 2024-10-16 07:04:12

hdu-2020的相关文章

hdu 2020~2024

hdu 2020 对三个字符按 ASCII 码排序,水 1 #include<stdio.h> 2 int main() 3 { 4 int n,a[54],i; 5 for (i=0;i<4;i++) a[i]=i+1; 6 for (i=4;i<=53;i++) a[i]=a[i-1]+a[i-3]; 7 while (scanf("%d",&n)!=EOF) if (n!=0) printf("%d\n",a[n-1]); 8

hdu 2020 绝对值排序

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2020 题目大意:按照绝对值大小从大到小排序,注意输出两个数之间要用空格隔开,在这里引入一个冒泡排序,两个循环即可! 1 #include <stdio.h> 2 #include <math.h> 3 int main () 4 { 5 int n,a[100],i,j,t; 6 while (scanf("%d",&n),n) 7 { 8 for (i=0

hdu 2020 绝对值排序 (java)

问题: 注意输入方式,可以直接用数组来装. 绝对值排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 51480    Accepted Submission(s): 24867 Problem Description 输入n(n<=100)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等.

hdu 2018(母牛问题)2019(数列有序!)2020(绝对值排序 )2021(发工资)2022(海选女主角)

要发现它的规律,题n年牛的总数等于n-1年的母牛数加上第n年新增的母牛数,第n年只有n-3年的那些母牛才能产母牛,所以第n年的母牛数等于第n-1和n-3年的母牛数的和,即sum(n)=sum(n-1)+sum(n-3),可用递归来做 1 #include<cstdio> 2 #include<cmath> 3 #include<string.h> 4 #include<iostream> 5 #include<algorithm> 6 using

HDU分类

模拟题, 枚举 1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201 12

hdu 1829 A Bug&#39;s Life (基础并查集)

题目: 链接:点击打开链接 题意: 给定虫子的交配关系,确定实验是否支持教授的假设即没有同性恋或者不符合假设. 思路: 是一道基础的并查集题目.存在两个集合异性和同性,给出多组关系,看这两个集合有木有联系,即是否有同性恋. 定义一个数组sex[],sex[i]表示与编号i的性别相反的虫子编号.然后将和i虫子有联系的合并为同一个集合(认为是同性的).如果findset(u) == findset(v),出现了反常行为. 代码: #include <iostream> #include <c

HDU 5534 Partial Tree (完全背包变形)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题意: 给你度为1 ~ n - 1节点的权值,让你构造一棵树,使其权值和最大. 思路: 一棵树上每个节点的度至少为1,且度的和为2*n - 2.那么我们先给这些节点的度都-1,剩下的节点度为n - 2.此时我们发现,任意分配剩下的这些度给节点,都可以形成一棵树.这就变成了一个完全背包题,容量为n-2.注意dp要初始化为-inf.思路确实巧妙. 1 #include <iostream> 2

HDU 4832 Chess (DP)

Chess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 24    Accepted Submission(s): 10 Problem Description 小度和小良最近又迷上了下棋.棋盘一共有N行M列,我们可以把左上角的格子定为(1,1),右下角的格子定为(N,M).在他们的规则中,"王"在棋盘上的走法遵循十字路线.

转载:hdu 题目分类 (侵删)

转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116

HDU——PKU题目分类

HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201