YT14-先来练练手之绝对值排序

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

代码如下:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int a[100],i,j,n,t;
    while (cin>>n&&n!=0)
    {
        for (i=0; i<n; i++)
        {
            cin>>a[i];
        }
        for (j=0; j<n-1; j++)
        {
            for (i=1; i<n-j; i++)
            {
                if (abs(a[i-1])<abs(a[i]))
                {
                    t=a[i-1];
                    a[i-1]=a[i];
                    a[i]=t;
                }
            }
        }
        for (i=0; i<n-1; i++)
            cout<<a[i]<<" ";
        cout<<a[i]<<endl;
    }
    return 0;
}

运行结果:

想不到真的是要用三个循环套用。。。T.T

一朝被蛇咬,十年怕井绳,,,当初由于在一次做题中套用了三个循环导致输出超限,然后一直牢记这个教训,并且劝阻其他人使用三个循环套用,有点可笑了。。。

时间: 2024-10-07 17:04:21

YT14-先来练练手之绝对值排序的相关文章

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)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等.

今天天气很好,写个快排练练手

最近有些懒,好久没写代码了,现在写个快排练练手吧. public class QucikSort { //此处交换两个数 public static void swap(int a[],int low,int high) { int temp=a[low]; a[low]=a[high]; a[high]=temp; } //分区,分成两部分 public static int partion(int a[],int low,int high) { swap(a,low,high); int c

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

Autodesk View and Data API练练手

大家如果参加过我们的活动,你应该已经听过看过不少关于View and Data Web Service的例子里,如果还没有的话,请看看下面这几篇: http://www.cnblogs.com/junqilian/category/594048.html 如果你已经了解了Viewer,那有没有兴趣练练手,把这样酷的三维模型嵌入到你自己的网页中呢?那么开始练练手吧. ?体验代码资料下载:http://pan.baidu.com/s/15zZMQ 在下载解压缩后你应该可以看到下面的目录结构,其中ha

SQL点滴25—T-SQL面试语句,练练手

原文:SQL点滴25-T-SQL面试语句,练练手 1. 用一条SQL语句查询出每门课都大于80分的学生姓名 name   kecheng    fenshu 张三     语文     81张三     数学     75李四     语文     76李四     数学     90王五     语文     81王五     数学     100王五     英语     90 思路:这里不能直接用分数>80这样的比较条件来查询的到结果,因为要求没门成绩都大于80.我们可以反过来思考,如果有

【 OJ 】绝对值排序

绝对值排序 发布时间: 2017年11月12日 12:31   最后更新: 2017年11月12日 12:33   时间限制: 1000ms   内存限制: 128M 描述 输入n(n<=100)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等. 输入 输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理. 输出 对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开.每个测试实例占一行. 样例输入1

绝对值排序

在前面曾经简单的讲了一下排序,也讲到过这道题,是在冒泡的时候,今天会用快排的方式给一下代码: Description 输入n(n<=100)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等. Input 输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理. Output 对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开.每个测试实例占一行. Sample Input 3 3 -4 2 4 0

HDU2020——绝对值排序(java实现,使用map)

Question Description Input Output Sample Input Sample Output 解题思路简述: 在接收每一个数组的过程中,将负数及其绝对值以键值对的形式存入map(先绝对值,后负数)(因为题目有说“题目保证对于每一个测试实例,所有的数的绝对值都不相等.”) 然后数组中实际存储的是绝对值而不是负数 然后将数组通过冒泡排序降序排序 最后遍历数组,同时查询map中是否有相应键值对,有的话就将该项变为负数 然后打印_完成 源码: import java.util

YT14-先来练练手之三角形分区

Problem Description 用N个三角形最多可以把平面分成几个区域? Input 输入数据的第一行是一个正整数T(1<=T<=10000),表示测试数据的数量.然后是T组测试数据,每组测试数据只包含一个正整数N(1<=N<=10000). Output 对于每组测试数据,请输出题目中要求的结果. Sample Input 2 1 2 Sample Output 2 8 代码如下: #include<iostream> using namespace std;