[HDOJ]2020
来源:互联网 发布:excel大数据求和 编辑:程序博客网 时间:2024/04/30 00:55
Problem Description
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
Input
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
Sample Input
3 3 -4 24 0 1 2 -30
Sample Output
-4 3 2-3 2 1 0
1.
#include<iostream>using namespace std;int main(){ int n,a[100],temp; while(cin>>n){ if(n==0) break; //输入数组元素 for(int i=0;i<n;i++){ cin>>a[i]; } //冒泡排序 for(int j=0;j<n;j++){ for(int i=0;i<n-1;i++){ //相邻数组元素都>=零,前者大于后者,则交换 if(a[i]>=0&&a[i+1]>=0&&a[i]<a[i+1]){ temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; continue; } //相邻数组元素前者<=0,后者>=0,并且前者的绝对值大于后者,交换 if(a[i]<=0&&a[i+1]>=0&&-a[i]<a[i+1]){ temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; continue; } //相邻数组元素前者>=0,后者<=0,并且前者的大于后者的绝对值 if(a[i]>=0&&a[i+1]<=0&&a[i]<-a[i+1]){ temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; continue; } //相邻数组元素都<=0,前者绝对值大于后者,交换 if(a[i]<=0&&a[i+1]<=0&&-a[i]<-a[i+1]){ temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; continue; } } } for(int i=0;i<n;i++){ if(i==0) cout<<a[i]; else cout<<" "<<a[i]; } cout<<endl; } return 0;}
0 0
- [HDOJ]2020
- HDOJ--2020
- hdoj 2020
- hdoj 2020
- HDOJ water 2020
- hdoj 2020 绝对值排序
- HDOJ 2020 && 2021 && 2022
- HDOJ 2020 绝对值排序
- HDOJ 2020 绝对值排序
- hdoj 2020 绝对值排序
- HDOJ 2020 绝对值排序
- HDOJ 2020 绝对值排序!
- HDOJ 2020 绝对值排序
- HDOJ
- hdoj
- hdoj
- HDOJ
- hdoj.2020 绝对值排序 20140726
- linux安装ftp服务
- 在ubuntu中建立eclipse桌面快捷方式
- Python练习(廖雪峰)
- Obsessive String - CodeForces 494 B KMP+dp
- php 创建唯一码
- [HDOJ]2020
- 对HDU1003的总结(借鉴他人)
- 源码编译安装CloudStack 4.2
- 探索推荐引擎内部的秘密,第 2 部分: 深入推荐引擎相关算法 - 协同过滤
- login页面按回车键(enter)登录功能
- 《高级Bash脚本编程指南》学习笔记(6)——基础:转义
- Mongodb基础入门(1)——安装与配置
- 对二进制表示的数取反
- 浅谈 iOS 版本号