考试成绩和学号的(结构体)排序
2018-03-30 17:05
211 查看
使学号和成绩关联,然后成绩sort,学号也跟着改变。
代码:#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int MaxN = 1e5;
struct node {
int val;
int id;
}arr[MaxN];
int cmp(node a, node b) {
if(a.val == b.val) return a.id < b.id;
return a.val < b.val;
}
int main()
{
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
scanf("%d", &arr[i].val);
arr[i].id = i;
}
sort(arr + 1, arr + n + 1, cmp);
for(int i = 1; i <= n; i++)
printf("%d %d\n", arr[i].id, arr[i].val);
}
代码:#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int MaxN = 1e5;
struct node {
int val;
int id;
}arr[MaxN];
int cmp(node a, node b) {
if(a.val == b.val) return a.id < b.id;
return a.val < b.val;
}
int main()
{
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
scanf("%d", &arr[i].val);
arr[i].id = i;
}
sort(arr + 1, arr + n + 1, cmp);
for(int i = 1; i <= n; i++)
printf("%d %d\n", arr[i].id, arr[i].val);
}
相关文章推荐
- C语言结构体+数组实现学生学号成绩的统计、排序
- 结构体指针数组完成输入学生姓名学号数学语文成绩修改排序显示等功能
- c#例题:输入学生的学号,姓名,分数,然后根据分数进行排序再输出最终结果。重点学习用结构体定义数组的表达方式
- 有5名学生保存在结构体数组中,编程按学生的成绩升序排序,按学生的姓名降序排序,按年龄从低到高排序
- 成绩排序(结构体三级排序)
- 成绩排序 用一维数组存储学号和成绩,然后,按成绩排序输出
- C/C++动态自定义结构体数组实例锻炼-学生成绩排序
- C#例题:输入学生学号,姓名,分数,然后根据分数进行排序。这个题是用集合和结构体来做,与上一题不同。掌握基础知识很重要
- 用一维数组存储学号和成绩,然后,按成绩排序输出
- 1478 Problem A 总成绩排序(结构体专题)——软四课堂小测试2——2017-12-22
- 结构体—根据学生的成绩从高到低排序
- 算法每日一题之成绩排序:std:stable_sort对结构体struct排序
- 有 4000 5名学生保存在结构体数组中,编程按学生的成绩升序排序,按学生的姓名降序排序,按年龄从低到高排序
- HDU--杭电--2093--考试排名--结构体排序
- C语言,有5名学生保存在结构体数组中,编程按学生的成绩升序排序,按学生的姓名降序排序,按年龄从低到高排序
- 20150920结构体 定义一个学生的结构体,学号,姓名,身高,输入学生信息,按身高排序输出;
- 成绩排序(结构体)
- 结构体案例之学生成绩输入及排序
- 检查 Logic Java 课程最近一次考试。如果有成绩到达80分以上者,则显示分数排在前5名学员的学号和分数
- 结构体——根据学号排序