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'と 'も' float'する必要がy'をもたらすであろう。 – deamentiaemundi

+0

整数の除算を浮動小数点の除算に変更することができます。 60年代後に1つのドットを追加すると、それが処理されます( '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; 

あなたのaはフロートであっても、あなたの方程式の右辺は整数の除算を行っています。

したがってXに割り当て216000未満の任意の値は0

関連する問題