C program to explain how fmod and modf function works

C program to explain how fmod and modf works :

In this C programming tutorial, we will learn how fmod and modf function works, what arguments these functions take and what are the return values. Function fmod is defined as :

double fmod(double x,double y)

Similarly, the function modf is defined as :

double modf(double x,double *y)

Now, let’s see how fmod works : double fmod(double x,double y) takes two double variables x and y and returns the remainder found by dividing x by y. Similarly, the function double modf(double x,double *y) divides a number into its integer and fraction parts.Let’s take a look at the program to understand both of these functions :

C program :


int main(){
  double firstNumber;
  double secondNumber;

  double number;
  double fractionPart;
  double intPart;

  printf("Enter the first number : ");

  printf("Enter the second number : ");

  printf("fmod(firstNumber,secondNumber) is %lf \n",fmod(firstNumber,secondNumber));

  printf("Enter another number : ");

  fractionPart = modf(number,&intPart);
  printf("Interger component : %lf\n",intPart);
  printf("Fraction component : %lf\n",fractionPart);

Explanation :

  1. Create two double variables to store two numbers.
  2. Create three more double variables to store the number, its integer part, and its fraction part.
  3. Ask the user to enter the first number. Read it and store it in firstNumber variable.
  4. Similarly, ask the user to enter the second number, read and store it in secondNumber variable.
  5. Print the fmod value of the firstNumber and secondNumber.
  6. Ask the user to enter another number for modf. Read and store it in number variable.
  7. Find out the fractionPart by passing the number and address of intPart to the modf function.It will store the integer part in intPart variable.
  8. Print both integer and fraction component of the number.

Sample Output :

Enter the first number : 12
Enter the second number : 5
fmod(firstNumber,secondNumber) is 2.000000
Enter another number : 12.334
Interger component : 12.000000
Fraction component : 0.334000