View Code of Problem 3861

#include<stdio.h>
#include<math.h>
struct student{
	char name[20];
	int p;
	int q;
}s[20];
int main(){
	int n,t,i,j;
	struct student s[20],d;

	scanf("%d",&t);
	while(t--)
	{
		double x[20]={0};
		scanf("%d",&n);
		for(i=0;i<n;i++)
		{
			scanf("%s%d%d",&s[i].name,&s[i].p,&s[i].q);
			x[i]=1.0*s[i].p/s[i].q;
		}
		for(i=0;i<n;i++)
			for(j=i;j<n;j++)
				if(x[i]<x[j])
				{
					d=s[i];
					s[i]=s[j];
					s[j]=d;
				}
		for(i=0;i<n-1;i++)
			printf("%d %s %d %d",i+1,s[i].name,s[i].p,s[i].q);
		printf("%d %s %d %d\n",i+1,s[i].name,s[i].p,s[i].q);					
	}

	return 0;
}

Double click to view unformatted code.


Back to problem 3861