gpt4 book ai didi

C编程: wrong output?

转载 作者:行者123 更新时间:2023-11-30 21:30:23 27 4
gpt4 key购买 nike

大家好,我正在努力解决这个问题

编写一个 C 程序,计算弹丸在撞击地面之前行进的距离(即射程)、弹丸撞击地面所需的时间以及弹丸飞行中的最大高度(给定角度)它被射向空中,以及发射时的初始速度(速度)。我们假设地面是平坦的,唯一存在的力是重力(没有空气阻力等)。

Maximum height: h=pow(v*sin(θ),2)/2*g;
Time in air: t = (2*v*sin(θ))/g;
Range: r = (2*pow(v,2)*sin(θ)*cos(θ))/g;



θ = angle that the projectile is launched (in whole degrees)
v = initial velocity of the projectile (in meters/second)
g = acceleration due to gravity = 9.8 meters/second2

现在我不知道为什么我得到负面结果。我想我使用了错误的声明语法,或者我对角度和初始速度给出了错误的输入,或者是因为除法是四舍五入的。有人可以帮我找出解决这个问题的正确方法吗? (我是 C 编程新手,我想学习)

最佳答案

正确的公式如下

Maximum height: h=pow(v*sin(θ*M_PI/180),2)/(2*g);
Time in air: t = (2*v*sin(θ*M_PI/180))/g;
Range: r = (2*pow(v,2)*sin(θ*M_PI/180)*cos(θ*M_PI/180))/g;

您甚至可以将 Range 公式简化为 pow(v,2)*sin(2*θ*M_PI/180)/g

as sin(2θ) = 2*sin(θ)*cos(θ)

来自 @Mat、@BLUEPIXY 和 @Sanhadrin 的评论

关于C编程: wrong output?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26440710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com