1921: 绝对值排序
2016-01-25 15:48
267 查看
for(int i=0;;i++)
{
if(you==world[i])
for(;;)
Love_You();
} //遍历整个世界 只为找到你 然后永远爱你 ——艾尔森
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。
{
if(you==world[i])
for(;;)
Love_You();
} //遍历整个世界 只为找到你 然后永远爱你 ——艾尔森
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 <stdio.h> #include <stdlib.h> void sort(int n); void sort(int n) //排序函数 { int b[2000]={0}; //初始化b数组为0 int a,t=0; //a用于读入输入的数字 t用于规范格式输出空格 for(int i=0;i<n;i++) { scanf("%d",&a); if(a>=0) b[a]=1; //判断将a的绝对值以下标的存入数组b else b[-a]=2; //1为正数 2为负数 } for(int i=1999;i>=0;i--) //遍历数组从最大值开始输出 { if(b[i]==1) { if(t!=0) printf(" "); t++; printf("%d",i); //判断t不等于0的时候输出空格 } else if(b[i]==2) { if(t!=0) printf(" "); t++; printf("%d",-i); } } printf("\n"); } int main() { int n; while(~scanf("%d",&n)&&n) sort(n); //循环输入n并调用函数 到n=0时停止 return 0; }
相关文章推荐
- cocos2d-x 笔记
- Maven小结
- [iOS]setValue和setObject区别
- iOS ViewController里代码结构的规定
- 母板页 .master
- popupwindow简单使用
- onActivityResult不执行 或者 onActivityResult的解决方法
- RHCE 学习笔记(15)- KVM
- Swift与Cocoa Touch
- iOS:Xcode7下创建 .a静态库 和 .framework静态库
- Cow Pedigrees
- Python Django 框架开发
- 运行phpize时出现:Cannot find autoconf. Please check your autoconf installation
- 浅谈获取shell中函数的返回值
- myeclise10 svn: E210004: Number is larger than maximum 解决方案
- 视图Ext.Viewport和窗口Ext.Window用法
- mongodb3.2二进制单机版安装
- 面向对象
- paper 19 :机器学习算法(简介)
- tabbar适时隐藏