Home / C Programming / Floating Point Issues :: Discussion

Discussion :: Floating Point Issues

  1. What will be the output of the program?

     #include
     #include<math.h>
     int main() 
      {   
        float n=1.54;  
        printf("%f, %f\n", ceil(n), floor(n));   
        return 0; 
      } 
    

  2. A.

    2.000000, 1.000000

    B.

    1.500000, 1.500000

    C.

    1.550000, 2.000000

    D.

    1.000000, 2.000000

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    ceil(x) round up the given value. It finds the smallest integer not x.
    floor(x) round down the given value. It finds the smallest integer not > x.

    printf("%f, %f\n", ceil(n), floor(n)); In this line ceil(1.54) round up the 1.54 to 2 and floor(1.54) round down the 1.54 to 1.

    In the printf("%f, %f\n", ceil(n), floor(n)); statement, the format specifier "%f %f" tells output to be float value. Hence it prints 2.000000 and 1.000000.


Be The First To Comment