困扰好长时间了,公式对,结果也正确,不知道为何过不了OJ。。。。。希望有人帮一下,谢谢!
问题:
Input 本题有多组测试数据,对于每组数据,输入5个浮点数,起始坐标x1 y1,围绕的点坐标 x2 y2 和走过圆弧的角度(注意这里用的是角度!,而且坐标范围不是很大,-100~100之间) Output 你需要输出终止位置的坐标(保留3位小数)并换行。 Sample Input 70 70 0 0 45 Sample Output (0.000,98.995)
我的代码:
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> using namespace std; const double pi = acos(-1); int main() { double x1 , y1 , x2 , y2 , angle; while(scanf("%lf%lf%lf%lf%lf",&x1 , &y1 , &x2 , &y2 , &angle) != EOF) { double angle0 = pi*(angle/180.0); double x3 , y3; x3 = x2 + (x1 - x2) * cos(angle0) - (y1 - y2) * sin(angle0); y3 = y2 + (x1 - x2) * cos(angle0) + (y1 - y2) * sin(angle0); if( fabs(x3-0) < 0.00001 ) x3 = 0; if( fabs(y3 - 0) < 0.00001) y3 = 0; printf("(%.3f,%.3f)\n",x3,y3); } return 0; }
使用Dev-Cpp执行成功
额,我知道啊,运行是没有问题,可是过不了OJ。。。。。。
@Bryant~xw: 好吧 我觉得你应该把问题描述改一下
@Amedeo: 好的,谢谢