#include #include typedef struct { int numerator, denominator; double a; } fraction; int q(const void *x, const void *y) { if (((fraction*)y)->a > ((fraction*)x)->a) return 1; else return -1; } int main(void) { fraction f[10]; int n, i; scanf("%d", &n); for (i = 0; i < n; ++i) { scanf("%d%d", &f[i].numerator, &f[i].denominator); f[i].a = (double)f[i].numerator / f[i].denominator; } qsort(f, n, sizeof(fraction), q); for (i = 0; i < n; ++i) printf("%d %d\n", f[i].numerator, f[i].denominator); return 0; }