解题思路:

注意事项:

参考代码:

#include<iostream>

using namespace std;

#include<math.h>//调用数学库函数

//使用三角函数注意事项:

//1、包含头文件

//2、角度转弧度:输入的角度*PI/180  (PI为:acos(-1.0))

//即:输入的角度*acos(-1.0)/180

//此时求出的即为弧度,可直接使用

int main()

{

double l, w, x, y, r, a, v, s;//定义出要输入的各值

l = w = x = y = r = a = v = s = 0;

double journeyx = 0;//定义x方向总路程

double journeyy = 0;//定义y方向总路程

double lx, vx, wy, vy;

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;//满足退出条件时退出

//在x轴方向

lx = l - 2 * r;//变化后的长度

vx = v * cos(a * acos(-1.0) / 180);//变化后的速率

journeyx = fabs(vx * s + x - r);//变化后的路程(距原点)(绝对值)

//在y轴方向

wy = w - 2 * r;

vy = v * sin(a * acos(-1.0) / 180);

journeyy = fabs(vy * s + y - r);

//x轴方向上的坐标

for (; journeyx > lx * 2;)

journeyx -= lx * 2;

if (journeyx > lx)

journeyx = lx - (journeyx - lx);

else if (journeyx <= lx)

journeyx;

//y轴方向上的坐标

for (; journeyy > wy * 2;)

journeyy -= wy * 2;

if (journeyy > wy)

journeyy = wy - (journeyx - wy);

else if (journeyy <= wy)

journeyy;

//最终坐标

journeyx += r;

journeyy += r;

printf("%.2lf %.2lf\n", journeyx, journeyy);

}

return 0;

}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论