View Code of Problem 3861

#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

//long long相除再乘1.0不能转为double

typedef struct
{
	string name;
	double power;
	double price;
	double result;
}phone;

bool cmp(phone p1, phone p2)
{
	return p1.result > p2.result;
}

int main() {
	int t, n;
	cin >> t;
	while (t--)
	{
		cin >> n;
		phone *arr = new phone[n];
		for (int i = 0; i < n; i++)
		{
			cin >> arr[i].name >> arr[i].power >> arr[i].price;
			arr[i].result = arr[i].power / arr[i].price;
		}
		sort(arr, arr + n, cmp);
		for (int i = 0; i < n; i++)
			cout << i + 1 << " " << arr[i].name << " " << arr[i].power << " " << arr[i].price << endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3861