题目原意是给你A,B两点坐标,让你求出逆时针的第三点C的坐标。
我这里运用旋转矩阵的方法,大大缩减代码量及code难度。
#include<stdio.h> #include<math.h> int main() { double x1,x2,y1,y2,ansx,ansy; int t; scanf("%d",&t); while(t--) { scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2); double newx2,newy2; newx2=x2-x1; newy2=y2-y1; ansx=newx2*0.5-sqrt(3.0)/2.0*newy2; ansy=newx2*sqrt(3.0)/2.0+newy2*0.5; printf("(%.2lf,%.2lf)\n",(ansx+x1),(ansy+y1)); } return 0; }