2016-09-28 4 views
-2

Вот мой полный код. Я продолжаю получать ноль для своих уравнений независимо от того, что делаю. Любая помощь будет принята с благодарностью.Я продолжаю получать ноль от своих уравнений и не знаю, почему

#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 

int main(void) 
{ 
int x, y; 
float a,t; 
//Inputs 
printf("What is the speed that the jet is traveling in km/hr? \nWhat is the distance traveled in meters? \n"); 
scanf("%d , %d", &x, &y); 


//Calculations 

a = x * 1/60 * 1/60 * 1/60 * 1000 ; 

t = sqrt(y * a/2 ) ; 

//Outputs 
printf("The acceleration of the jet is %f meters per second squared. \n", a); 
printf("The time it takes for the jet to reach takeoff speed is %f seconds. \n", t); 

return 0; 
} 
+1

'x' и' y' должен быть 'float' тоже. – deamentiaemundi

+0

Возможно, вы захотите изменить целочисленное деление на деление с плавающей запятой. Добавление одной точки после 60-х годов позаботится об этом ('60.'). – Evert

+0

@deamentiaemundi не обязательно, если (по какой-то причине) вы хотите обеспечить целую скорость. Последнее не рекомендуется. – Evert

ответ

0

Ваше первое уравнение эквивалентно

a = ((((((x * 1)/60) * 1)/60) * 1)/60) * 1000; 

т;

a = (x/(60*60*60)) * 1000; 

или

a = (x/(216000)) * 1000; 

Даже если ваш а является поплавок, RHS вашего уравнения делает целочисленное деление.

Следовательно, любое значение меньше 216000 присваиваются й приведет к 0.