hdu 1785
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1785
题意:按原点到给定点的向量与x轴正方向夹角大小排序,夹角越小,实际越大。
mark:wa了两次。。。题目说的是与x轴正方向的夹角。。
代码:
#include <stdio.h> #include <stdlib.h> typedef struct { double x,y; }stu; int cmp(const void *a, const void *b) { stu *p = (stu *)a, *q = (stu *)b; double m; m = p->y*q->x - q->y*p->x; if (m < 1e-9 && m >-1e-9) return 0 ; else if (m < 0) return -1 ; else return 1 ; } int main() { stu s[110]; int n,i; while(scanf("%d", &n), n >= 0) { for(i = 0; i < n; i++) scanf("%lf%lf", &s[i].x, &s[i].y); qsort(s, n, sizeof(s[0]), cmp); for(i = 0; i < n; i++) { if(i) printf(" "); printf("%.1lf %.1lf", s[i].x, s[i].y); } printf("\n"); } return 0; }