解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct students{
char name[101];
int age;
int core;}st;
void input (st *l)
{
scanf("%s %d %d",l->name,&l->age,&l->core);
}
void print(st *l){
printf("%s %d %d\n",l->name,l->age,l->core);
}
//冒泡排序
void bubble(st *list,int n){
int i;
st t;
for(i=0;i<n-1;i++)
{
if(list[i].core>list[i+1].core)
{
t=list[i];
list[i]=list[i+1];
list[i+1]=t;
}
if(list[i].core==list[i+1].core)
{
if(strcmp(list[i].name,list[i+1].name)>0)
{
t=list[i];
list[i]=list[i+1];
list[i+1]=t;
}
}
if(strcmp(list[i].name,list[i+1].name)==0)
{
if(list[i].age>list[i+1].age)
{
t=list[i];
list[i]=list[i+1];
list[i+1]=t;
}
}
}
}
void bubblesort(st *list,int n){
int i;
for (i=n;i>1;i--)
bubble(list,i);
}
void main()
{
int N;
while(scanf("%d",&N)!=EOF)
{
if(N<=1000&&N>0)
{st list[N];
int i;
for(i=0;i<N;i++)
{
input(&list[i]);
if(getchar()=='\n')
continue;
}
bubblesort(list,N);
for(i=0;i<N;i++)
print(&list[i]);
}
}
return 0;
}
0.0分
0 人评分
母牛的故事 (C语言代码)浏览:478 |
简单的for循环浏览:1498 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:756 |
企业奖金发放 (C语言代码)浏览:2462 |
第三届阿里中间件性能挑战赛-总决赛亚军比赛攻略浏览:1170 |
母牛的故事 (C语言代码)浏览:519 |
老王赛马 (C++代码)浏览:973 |
拆分位数 (C语言代码)浏览:464 |
删除数组中的0元素 (C语言代码)浏览:2147 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:515 |