解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<string.h>
struct student{
char name[101];
int x;
int y;
};
int main()
{
int n;
struct student t;
struct student stu[1010];
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
scanf("%s %d %d",&stu[i].name,&stu[i].x,&stu[i].y);
getchar();
}
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
if(stu[j].y>stu[j+1].y){
t=stu[j];
stu[j]=stu[j+1];
stu[j+1]=t;
}
if(stu[j].y==stu[j+1].y){
if(strcmp(stu[j].name,stu[j+1].name)>0){
t=stu[j];
stu[j]=stu[j+1];
stu[j+1]=t;
}
else if(strcmp(stu[j].name,stu[j+1].name)==0){
if(stu[j].x>stu[j+1].x){
t=stu[j];
stu[j]=stu[j+1];
stu[j+1]=t;
}
}
}
}
}
for(int i=0;i<n;i++){
printf("%s %d %d\n",stu[i].name,stu[i].x,stu[i].y);
}
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:507 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:591 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:609 |
完数 (C语言代码)浏览:693 |
a+b浏览:433 |
核桃的数量 (C语言代码)浏览:671 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:999 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:538 |
C二级辅导-等差数列 (C语言代码)浏览:770 |
回文数(一) (C语言代码)浏览:1118 |