解题思路:
注意事项:
参考代码:
#include <cstdio>
int main()
{
int n;
scanf("%d",&n);
int i[305],j[305],k[305],l[305],m[305];
for(int a = 0; a < n; a ++)
{
scanf("%d%d%d",&i[a],&j[a],&k[a]);
l[a]=i[a]+j[a]+k[a];
m[a]=a+1;
}
int t;
for(int b = 0; b < n-1; b ++)
{
for(int a = 0; a < n-1-b; a ++)
{
if(l[a]<l[a+1])
{
t=i[a];
i[a]=i[a+1];
i[a+1]=t;
t=j[a];
j[a]=j[a+1];
j[a+1]=t;
t=k[a];
k[a]=k[a+1];
k[a+1]=t;
t=l[a];
l[a]=l[a+1];
l[a+1]=t;
t=m[a];
m[a]=m[a+1];
m[a+1]=t;
}
else if(l[a]==l[a+1])
{
if(i[a]==i[a+1])
{
if(m[a]>m[a+1])
{
t=i[a];
i[a]=i[a+1];
i[a+1]=t;
t=j[a];
j[a]=j[a+1];
j[a+1]=t;
t=k[a];
k[a]=k[a+1];
k[a+1]=t;
t=l[a];
l[a]=l[a+1];
l[a+1]=t;
t=m[a];
m[a]=m[a+1];
m[a+1]=t;
}
}
else if(i[a]<i[a+1])
{
t=i[a];
i[a]=i[a+1];
i[a+1]=t;
t=j[a];
j[a]=j[a+1];
j[a+1]=t;
t=k[a];
k[a]=k[a+1];
k[a+1]=t;
t=l[a];
l[a]=l[a+1];
l[a+1]=t;
t=m[a];
m[a]=m[a+1];
m[a+1]=t;
}
}
}
}
for(int a = 0; a < 5; a ++)
printf("%d %d\n",m[a],l[a]);
return 0;
}
0.0分
0 人评分
C语言训练-排序问题<1> (C++代码)浏览:596 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:532 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1083 |
WU-整数平均值 (C++代码)浏览:1244 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:879 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:534 |
1071题解浏览:488 |
C二级辅导-阶乘数列 (C语言代码)浏览:514 |
永远的丰碑 (C语言代码)浏览:519 |