九度OJ 1196:成绩排序 (排序)
来源:互联网 发布:人工智能编程方式 编辑:程序博客网 时间:2024/06/04 18:42
- 题目描述:
用一维数组存储学号和成绩,然后,按成绩排序输出。
- 输入:
输入第一行包括一个整数N(1<=N<=100),代表学生的个数。
接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。
- 输出:
按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。
如果学生的成绩相同,则按照学号的大小进行从小到大排序。
- 样例输入:
31 902 873 92
- 样例输出:
2 871 903 92
- 来源:
- 2009年华中科技大学计算机研究生机试真题
思路:
发现排序题真的好多,大概是作为最基本的算法了吧。
代码:
#include <stdio.h>#include <string.h>#include <stdlib.h> #define N 100 struct node { int num; int score;}; void print(struct node *p){ printf("%d %d\n", p->num, p->score);} int cmp(const void *a, const void *b){ struct node *c = (struct node *)a; struct node *d = (struct node *)b; if (c->score != d->score) return c->score - d->score; else return c->num - d->num;} int main(void){ int n, i; struct node a[N]; while (scanf("%d", &n) != EOF) { for (i=0; i<n; i++) scanf("%d%d", &(a[i].num), &(a[i].score)); qsort(a, n, sizeof(a[0]), cmp); for (i=0; i<n; i++) { print(&a[i]); } } return 0;}/************************************************************** Problem: 1196 User: liangrx06 Language: C Result: Accepted Time:40 ms Memory:912 kb****************************************************************/
0 0
- 九度OJ 1196:成绩排序 (排序)
- 九度OJ 题目1196:成绩排序
- 九度OJ题目1196:成绩排序
- 【九度OJ】1196:成绩排序
- 九度OJ 1061:成绩排序 (排序)
- 九度OJ 1061 成绩排序(结构体排序)
- 九度OJ 1061: 成绩排序
- 【王道九度OJ】1061成绩排序
- 九度OJ题目1061:成绩排序
- 九度OJ 题目1061:成绩排序
- 九度 OJ 1061:成绩排序
- 九度OJ 1061 成绩排序
- 九度OJ 1061 成绩排序
- 九度OJ-1061:成绩排序
- 题目1061:成绩排序 九度OJ
- 九度OJ题目1061:成绩排序
- 【九度OJ】题目1196:成绩排序 解题报告
- 九度-1196-成绩排序
- Virtualbox WDDM之DxgkDdiQueryChildStatus
- pyspark笔记
- android studio配置使用
- 结合阿里云服务器,设置家中jetson tk1随时远程登陆
- android shape设置矩形边框圆角大于某个值无效的解决办法
- 九度OJ 1196:成绩排序 (排序)
- Ubuntu 12.04 LTS 及ubuntu14.10 -- NFS安装
- 托福阅读考试做题步骤
- json_value.asm: No such file or directory
- Android开发学习笔记:圆角的Button
- Cassandra
- 九度OJ 1197:奇偶校验 (基础题)
- 关于升级iOS9.0之后,项目中若干错误的解决方法
- maven在myeclipse下运行mvn出现 No goals have been specified for this build.