zoukankan      html  css  js  c++  java
  • 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
     
    思路:循环,用绝对值来比较大小,然后排序
     
    难度:简单题,不知道为什么我不能用abs(),所以就自己写了个函数==
     
    代码:
     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
    ",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 }

    现在我知道为什么用不了abs()了,想要用abs()需要加头文件stdlib.h,明明math.h里面也有,但不知道为什么不能用==

    下面是用abs()的代码(其实差不多)

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 int main()
     4 {
     5     int th(int);
     6     int n,i,j,b,a[100];
     7     while(scanf("%d",&n)!=EOF)
     8     {
     9         if(n==0)
    10             break;
    11      for(i=0;i<n;i++)
    12             scanf("%d",&a[i]);
    13      for(i=0;i<n;i++)
    14      for(j=i;j<n;j++)
    15         if(abs(a[i])<abs(a[j]))
    16         {
    17             b=a[i];
    18             a[i]=a[j];
    19             a[j]=b;
    20         }
    21         for(i=0;i<n-1;i++)
    22             printf("%d ",a[i]);
    23             printf("%d
    ",a[i]);
    24     }
    25     return 0;
    26 }
  • 相关阅读:
    iscsi序列一、搭建iscsi存储系统
    LVS系列三、LVS集群-IP-TUN模式
    LVS系列二、LVS集群-DR模式
    LVS系列一、LVS集群-NAT模式
    LINUX 的网站压力测试工具 webbench
    关于 /proc/sys/net/ipv4/下 文件的详细解释
    CentOS7+rsync+sersync实现数据实时同步
    Linux Shell 自动备份脚本
    Vim的强大配置文件
    nginx出现403 Forbidden解决方法
  • 原文地址:https://www.cnblogs.com/ruo786828164/p/5971298.html
Copyright © 2011-2022 走看看