本文共 850 字,大约阅读时间需要 2 分钟。
其实此题题目理解不难,考的就是你对结构体的处理方面问题!
思路上的步骤就是如下:/*招新成绩统计1.这个涉及多个数据,需要结构体2. 如果成绩一样则排名一样,按学号升序排列。2.先对考场进行排名,在进行总的排名 3.总体排名4.考场排名 */#include#include using namespace std;struct node{ string id; int score,tot_rank,location,loc_rank;};bool cmp(const node &a, const node &b){ return a.score==b.score ? a.id b.score;}int main(){ int n,m,num=0; cin>>n;//考场数 struct node v[30001]; for(int i=1;i<=n;i++) { cin>>m;//考场对应的人数 for(int j=1;j<=m;j++) { cin>>v[num].id>>v[num].score; v[num].location=i;//输入id,成绩 赋值考场 num++; } sort(v+num-m,v+num,cmp);//考场排序 v[num-m].loc_rank=1; for(int j=1;j
此题其实不太难,我对结构体运用的不多,导致没有写出来.还是需要努力刷题.
大家好,我是大一小菜鸡,又菜瘾还大!!
转载地址:http://txdki.baihongyu.com/