小编Bra*_*hma的帖子

任务是计算在圆圈中移动的两个对象之间的直线距离

在此输入图像描述

我们在距离为r1的直线上有两个点对象B和C,在点A处有r2个单位.在时间t = 0秒时,对象开始在圆形路径中移动,A在中心,角速度为v1和每秒v2度.

给定输入v1,v2,r1和r2,计算N秒后B和C之间的距离.我已经做到了,但它给出了错误的答案,任何人都可以建议我一个更好的解决方案.

#include"stdio.h"
#include"math.h"
int main()
{
    float v1,v2,r1,r2,t;
    scanf("%f%f%f%f%f", &v1, &r1, &v2, &r2, &t);

    int diff = v1 > v2 ? (v1 - v2) : (v2 - v1);
    int total_diff = diff * t;

    if(total_diff % 360 == 0)
        printf("%.2f", r2 - r1);
    else if(total_diff % 180 == 0)
        printf("%.2f", r1 + r2);
    else if(total_diff % 90 == 0)
        printf("%.2f", sqrt(pow(r2, 2) - pow(r1, 2)));
    else
        printf("%.2f", sqrt(pow(total_diff, 2) - pow(r2-r1, 2)));
}
Run Code Online (Sandbox Code Playgroud)

我接受了其他部分:https://math.stackexchange.com/questions/1727504/calculate-distance-between-two-points-on-concentric-circles

c

1
推荐指数
1
解决办法
449
查看次数

标签 统计

c ×1