九度OJ 1167:数组排序 (排序)
2015-10-26 09:47
281 查看
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:5395
解决:1715
题目描述:
输入一个数组的值,求出各个值从小到大排序后的次序。
输入:
输入有多组数据。
每组输入的第一个数为数组的长度n(1<=n<=10000),后面的数为数组中的值,以空格分割。
输出:
各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。
样例输入:
样例输出:
来源:2009年北京航空航天大学计算机研究生机试真题
思路:
注意输出的是次序,尤其注意重复数据的次序。
代码:
内存限制:32 兆
特殊判题:否
提交:5395
解决:1715
题目描述:
输入一个数组的值,求出各个值从小到大排序后的次序。
输入:
输入有多组数据。
每组输入的第一个数为数组的长度n(1<=n<=10000),后面的数为数组中的值,以空格分割。
输出:
各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。
样例输入:
4 -3 75 12 -3
样例输出:
1 3 2 1
来源:2009年北京航空航天大学计算机研究生机试真题
思路:
注意输出的是次序,尤其注意重复数据的次序。
代码:
#include <stdio.h> #define N 10000 int main(void) { int n, tmp, i, j, count; int a , b ; while (scanf("%d", &n) != EOF) { for(i=0; i<n; i++) { scanf("%d", &a[i]); b[i] = a[i]; } for(i=0; i<n-1; i++) { for(j=0; j<n-1-i; j++) { if (b[j] > b[j+1]) { tmp = b[j]; b[j] = b[j+1]; b[j+1] = tmp; } } } //for(i=0; i<n-1; i++) // printf("%d ", b[i]); //printf("%d\n", b[i]); for(i=0; i<n; i++) { count = 0; for(j=0; j<n; j++) { if (a[i] == b[j]) { count ++; if (i != 0) printf(" "); printf("%d", count); break; } else if (j == 0) count ++; else if (b[j] != b[j-1]) count ++; } } printf("\n"); } return 0; } /************************************************************** Problem: 1167 User: liangrx06 Language: C Result: Accepted Time:350 ms Memory:920 kb ****************************************************************/
相关文章推荐
- 苏州Oracle社招面经
- eclipse 异常 Subversion Native Library Not Available解决方案
- 二进制转换为十进制
- 花生采摘
- JSP取得绝对路径
- python中文显示报错
- 手机开发web?native?hybrid?
- NGINX引入线程池 性能提升9倍
- LeetCode OJ:Construct Binary Tree from Inorder and Postorder Traversal(从中序以及后序遍历结果中构造二叉树)
- 疯狂Html+CSS+JS 中CSS总结
- JAVA 获取http返回XML的数据
- 遍历Map的四种方法
- 关系型数据库如何处理“库存”问题
- android 用 XML 自定义边框(只上下边框有色)
- ECC与数论、数论史、代数,二次剩余符号的程序计算,高次剩余,高斯和 2013-03-23 21:52:49
- 九度OJ 1166:迭代求立方根 (迭代)
- MAC上Lua开发环境搭建
- 实现自适应高度的 UITableViewCell 或 UILabel
- each函数的使用
- 九度OJ 1166:迭代求立方根 (迭代)