https://www.luogu.com.cn/problem/P1093
1093这道题比较简单,跟我最近写的大作业有点相似。
用结构体定义所需的成员
然后在比较分数大小
这道题数据量很小,我用的冒泡排序
代码如下:
#include<stdio.h>
struct St{
int id;
int score[3];
int tol;
} st[666];
int list[666];
int main(){
int n;
scanf("%d",&n);
for (int i=1;i<n+1;i++){
st[i].id=i;
list[i]=i;
scanf("%d %d %d",&st[i].score[0],&st[i].score[1],&st[i].score[2]);
st[i].tol=st[i].score[0]+st[i].score[1]+st[i].score[2];
}
for (int i=1;i<6;i++){
for (int j=i+1;j<n+1;j++){
int tem;
if (st[list[i]].tol<st[list[j]].tol){
tem=list[j];
list[j]=list[i];
list[i]=tem;
}
else if (st[list[i]].tol==st[list[j]].tol && st[list[i]].score[0]<st[list[j]].score[0]){
tem=list[j];
list[j]=list[i];
list[i]=tem;
}
}
}
printf("%d %d\n",list[1],st[list[1]].tol);
printf("%d %d\n",list[2],st[list[2]].tol);
printf("%d %d\n",list[3],st[list[3]].tol);
printf("%d %d\n",list[4],st[list[4]].tol);
printf("%d %d",list[5],st[list[5]].tol);
return 0;
}
1093这道题比较简单,跟我最近写的大作业有点相似。
用结构体定义所需的成员
然后在比较分数大小
这道题数据量很小,我用的冒泡排序
代码如下:
#include<stdio.h>
struct St{
int id;
int score[3];
int tol;
} st[666];
int list[666];
int main(){
int n;
scanf("%d",&n);
for (int i=1;i<n+1;i++){
st[i].id=i;
list[i]=i;
scanf("%d %d %d",&st[i].score[0],&st[i].score[1],&st[i].score[2]);
st[i].tol=st[i].score[0]+st[i].score[1]+st[i].score[2];
}
for (int i=1;i<6;i++){
for (int j=i+1;j<n+1;j++){
int tem;
if (st[list[i]].tol<st[list[j]].tol){
tem=list[j];
list[j]=list[i];
list[i]=tem;
}
else if (st[list[i]].tol==st[list[j]].tol && st[list[i]].score[0]<st[list[j]].score[0]){
tem=list[j];
list[j]=list[i];
list[i]=tem;
}
}
}
printf("%d %d\n",list[1],st[list[1]].tol);
printf("%d %d\n",list[2],st[list[2]].tol);
printf("%d %d\n",list[3],st[list[3]].tol);
printf("%d %d\n",list[4],st[list[4]].tol);
printf("%d %d",list[5],st[list[5]].tol);
return 0;
}
全部评论
相关推荐
01-13 16:51
河北建筑工程学院 单片机 点赞 评论 收藏
分享
百度成长空间 585人发布