View Code of Problem 3861

#include<stdio.h>
struct phone
{
	char name[25];
	double x,j,rate;
};
int main()
{
	int n,m,i,j,max;
	struct phone a[300],tmp;
	scanf("%d",&n);
	while(n--){
		scanf("%d",&m);
		for(i=0;i<m;++i){
			scanf("%s%lf%lf",a[i].name,&a[i].x,&a[i].j);
			a[i].rate=a[i].x/a[i].j;
		} 
		for(i=0;i<m;++i){
			max=i;
			for(j=i;j<m;++j){
				if(a[j].rate>a[max].rate)	max=j;
			}
			tmp=a[i];
			a[i]=a[max];
			a[max]=tmp;
		}
		for(i=0;i<m;++i){
			printf("%d %s %.0lf %.0lf\n",i+1,a[i].name,a[i].x,a[i].j);
		}
	
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3861