问题描述
- 用另种排序做,这么才对呢
-
#include
#include
struct person{
int no;
double num;
};
int comp(const void *p,const void *q){
return ((struct person *)q)->num - ((struct person *)p)->num;
}
int main(void){
struct person personArray[50];
int i,m,c=0;
double a;
scanf("%d %lfn",&m,&a);
for(i=0;i
scanf("%d %lf",&personArray[i].no,&personArray[i].num);
}
qsort(personArray,m,sizeof(struct person),comp);
for(i=0;i
if(personArray[i].num>=a)
printf("%03d %.lfn",personArray[i].no,personArray[i].num);
}
for(i=0;i<m;i++){
if(personArray[i].num=0)
++c;}
if(c==m)
printf("Nonen");
return 0;
}
解决方案
这就是快速排序,什么叫“另类排序”?
时间: 2025-01-20 07:28:47