厦大C语言上机 1485 成绩排序
2018-01-13 13:21
405 查看
1485.成绩排序
时间限制: 1000 MS 内存限制: 65536 K
提交数: 674 (2 users) 通过数: 291 (286 users)
问题描述
老师让小明把班上的成绩排个序,这样每个学生都可以知道自己在班级的排名。
输入格式
第一行输入班级人数n(0<=n<100)
第二行输入n个成绩[0,100]
输出格式
从高到低输出n个成绩
样例输入
6
86 65 80 90 56 68
样例输出
90 86 80 68 65 56
来源
xmu
时间限制: 1000 MS 内存限制: 65536 K
提交数: 674 (2 users) 通过数: 291 (286 users)
问题描述
老师让小明把班上的成绩排个序,这样每个学生都可以知道自己在班级的排名。
输入格式
第一行输入班级人数n(0<=n<100)
第二行输入n个成绩[0,100]
输出格式
从高到低输出n个成绩
样例输入
6
86 65 80 90 56 68
样例输出
90 86 80 68 65 56
来源
xmu
#include <stdio.h> int partition(int *a, int low, int high) { int mid = (low + high) / 2; a[0] = a[mid]; a[mid] = a[low]; while (low < high) { while (low < high && a[high] <= a[0]) --high; a[low] = a[high]; while (low < high && a[low] >= a[0]) ++low; a[high] = a[low]; } a[low] = a[0]; return low; } void quicksort(int *a, int low, int high) { if (low >= high) return; int pivot = partition(a, low, high); quicksort(a, low, pivot-1); quicksort(a, pivot+1, high); } int main() { int n, i; int a[105] = { 0 }; scanf("%d", &n); for (i = 1; i <= n; ++i) scanf("%d", &a[i]); quicksort(a, 1, n); for (i = 1; i <= n; ++i) printf("%d ", a[i]); printf("\n"); return 0; }
相关文章推荐
- 厦大C语言上机 1501 整理成绩
- 厦大C语言上机 1484 成绩统计
- 厦大C语言上机 1390 伪ackerman函数
- 厦大C语言上机 1366 Simple a + b
- 厦大C语言上机 1383 回文号码
- 成绩排序C语言
- 厦大C语言上机 1391 简单的几何问题
- 厦大C语言上机 1367 几何级数的计算机验证法
- 厦大C语言上机 1384 卡片游戏
- 成绩排序C语言
- C语言提高-27讲: 编写查找和排序函数(查成绩)
- c语言学习之结构篇代码示例-输入n个同学的姓名,数学英语成绩,按照平均分从低到高排序并输出
- 厦大C语言上机 1392 数组的平衡
- 厦大C语言上机 1370 谁是下一个十佳歌手
- 厦大C语言上机 1385 石子消耗游戏
- 厦大C语言上机 1393 哥德巴赫猜想的验证
- 厦大C语言上机 1371 九九乘法表
- 厦大C语言上机 1387 进制转换进阶版
- 厦大C语言上机 1497 简单编辑
- 厦大C语言上机 1496 文件存数