C Programming - Declarations and Initializations - Discussion

Discussion Forum : Declarations and Initializations - General Questions (Q.No. 1)
1.
Which of the following statements should be used to obtain a remainder after dividing 3.14 by 2.1 ?
rem = 3.14 % 2.1;
rem = modf(3.14, 2.1);
rem = fmod(3.14, 2.1);
Remainder cannot be obtain in floating point division.
Answer: Option
Explanation:

fmod(x,y) - Calculates x modulo y, the remainder of x/y.
This function is the same as the modulus operator. But fmod() performs floating point divisions.

Example:


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

int main ()
{
  printf ("fmod of 3.14/2.1 is %lf\n", fmod (3.14,2.1) );
  return 0;
}

Output:
fmod of 3.14/2.1 is 1.040000

Discussion:
141 comments Page 13 of 15.

Prem kumar said:   1 decade ago
modf->Breaks x into two parts: the integer part (stored in the object pointed by intpart) and the fractional part (returned by the function).

Each part has the same sign as x.

Example
1
2
3
4
5
6
7
8
9
10
11
12
13
/* modf example */
#include <stdio.h>
#include <math.h>

int main ()
{
double param, fractpart, intpart;

param = 3.14159265;
fractpart = modf (param , &intpart);
printf ("%lf = %lf + %lf \n", param, intpart, fractpart);
return 0;
}


Output:

3.141593 = 3.000000 + 0.141593

Ratnaprakash said:   1 decade ago
Me too want to know about fmod&modf.

Vijay said:   1 decade ago
What is the difference between %, mod(), fmod() and modf()?

Sivakumar said:   1 decade ago
I want to know clear difference between fmod() and modf().

Prathamesh m. patkar said:   1 decade ago
Yes, because the given values are in floating type so we also want the ans in floating type therefore we use fmod().

Kavita.C.K said:   1 decade ago
What is the difference between %, mod(), fmod()and modf()?

Kavita.C.Karjagar said:   1 decade ago
What is the function of fmod and were we can use fmod?

Ram krishna said:   1 decade ago
Ya. Its nice ans we use % and mod () , fun for int, type but not for float hence fmode is right answer.

Pappu said:   1 decade ago
Ya, swathi answer is correct.

V!nu said:   1 decade ago
Nice explanation. I agree with that answer.


Post your comments here:

Your comments will be displayed after verification.