lcg007


私信TA

用户名:qq1102765728

访问量:18707

签 名:

Null

等  级
排  名 491
经  验 4633
参赛次数 1
文章发表 34
年  龄 0
在职情况 在职
学  校 同济大学
专  业

  自我简介:

#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分

1 人评分

  评论区

  • «
  • »