Все, так что я пытаюсь решить эту проблемуC Программирование: неправильный вывод?
Напишите программу на 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, и я хочу узнать)
Я хотел бы работать только на это назначение, если я мог бы заменить «снаряд» с " учителем ", чтобы игровое поле было более ровным для целей. –
Триг функции в 'math.h' принимают аргументы в радианах, а не в градусах. – Mat
Получаете ли вы правильный ответ, когда делаете расчет вручную? Сравните каждую часть формулы в вашей программе с соответствующим вычислением руки. Ограничьте его до места, которое отличается. Ограничьте его дальше. В конце концов вы будете сузить его до одной функции. Прочтите документацию для этой функции. –