#include <stdio.h>

#include<iostream>

#include<math.h>

#include<iomanip>

using namespace std;

double xs(int L, int W, int x, int y, int R, int a, int v, int s)

{

double m,a2;

a2 = a*asin(1) * 2 / 180;

m = x + v*s*cos(a2);

while (1)

{

if (m > L - R)

m = 2 * (L - R) - m;

else if (m < R)

m = 2 * R - m;

else break;

}

return m;

}

double ys(int L, int W, int x, int y, int R, int a, int v, int s)

{

double n, a2;

a2 = a*asin(1) * 2 / 180;

n = y + v*s*sin(a2);

while (1)

{

if (n > W - R)

n = 2 * (W - R) - n;

else if (n < R)

n = 2 * R - n;

else break;

}

return n;

}

int main()

{

int i=0, j,L, W, x, y, R, a, v, s;

double m[25],n[25],X,Y;

while (cin >> L >> W >> x >> y>> R >> a >> v >> s)

{

if (L == 0 && W == 0 && x== 0 && y == 0 && R == 0 && a == 0 && v == 0 && s == 0)

break;

m[i] = xs(L, W, x, y, R, a, v, s); 

n[i] = ys(L, W, x, y, R, a, v, s);

i++;

}

for (j = 0; j < i; j++)

{

X = m[j];

Y = n[j];

cout <<setprecision(2)<<fixed<< X << " " <<setprecision(2)<<fixed<< Y << endl;

}

return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论