c - Why this code not giving desired output? -
#include <stdio.h> //compiler version gcc 6.3.0 int main() { float da,hra,s,gs; scanf("%f",&s); da=40/100*s; hra=20/100*s; gs=s+da+hra; printf("%f",gs); return 0; }
for example if entered 25000 s output must 40000 showing 25000.000000.
try fix below.
note 40.0
, 20.0
instead of 40
, 20
. issue doing integer division. 40 / 100 == 0
, da
0
. using 40.0 / 100
instead gives floating point division , value 0.4
, want make calculations correct. (the same holds computation of hra
.)
#include <stdio.h> int main() { float da, hra, s, gs; scanf("%f", &s); da = 40.0 / 100 * s; hra = 20.0 / 100 * s; gs = s + da + hra; printf("%f", gs); return 0; }
Comments
Post a Comment