C库 - div() 函数



C 的stdlibdiv() 函数用于将分子除以分母。然后返回整数商和余数。

例如,将分子100和分母6传递给div()函数以获得结果。通过计算 'result.quot' (100/6 = 16) 找到商,并通过计算 'result.rem' (100%6 = 4) 找到余数。

语法

以下是div() 函数的C库语法:

div_t div(int numer, int denom)

参数

此函数接受以下参数:

  • numer − 代表分子。

  • denom − 代表分母。

返回值

此函数返回一个在<cstdlib>中定义的结构体中的值,该结构体包含两个成员:int 'quot' 和 int 'rem'。

示例1

在这个例子中,我们创建一个基本的C程序来演示div()函数的使用。

#include <stdio.h>
#include <stdlib.h>
int main()
{
   int numerator = 100;
   int denominator = 8;
   
   // use div function	
   div_t res = div(numerator, denominator);
   
   printf("Quotient of 100/8 = %d\n", res.quot);
   printf("Remainder of 100/8 = %d\n", res.rem);
   
   return 0;
}

输出

以下是输出:

Quotient of 100/8 = 12
Remainder of 100/8 = 4

示例2

在下面的例子中,我们将分子和分母都作为负值传递给div()函数。

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int numerator = -100;
	int denominator = -12;
	
	// use div function	
	div_t res = div(numerator, denominator);

	printf("Quotient of 100/8 = %d\n", res.quot);
	printf("Remainder of 100/8 = %d\n", res.rem);
	
	return 0;
}

输出

以下是输出:

Quotient of 100/8 = 8
Remainder of 100/8 = -4

示例3

这是一个显示被除数、除数、商和余数的C程序。

#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
   int nums[3] = {7, 10, 35};
   int den[3] = {2, 4, -5};
   div_t res;   
   int i,j; 
   
   printf("Table of result:\n");
   for (i = 0; i < 3; i++){
      for (j = 0; j < 3; j++)
      {
         res = div(nums[i],den[j]);
         printf("Dividend: %4d  Divisor: %4d", nums[i], den[j]);
         printf("  Quotient: %4d  Remainder: %4d\n", res.quot, res.rem);
      }
   }     
}

输出

以下是输出:

Table of result:
Dividend:    7  Divisor:    2  Quotient:    3  Remainder:    1
Dividend:    7  Divisor:    4  Quotient:    1  Remainder:    3
Dividend:    7  Divisor:   -5  Quotient:   -1  Remainder:    2
Dividend:   10  Divisor:    2  Quotient:    5  Remainder:    0
Dividend:   10  Divisor:    4  Quotient:    2  Remainder:    2
Dividend:   10  Divisor:   -5  Quotient:   -2  Remainder:    0
Dividend:   35  Divisor:    2  Quotient:   17  Remainder:    1
Dividend:   35  Divisor:    4  Quotient:    8  Remainder:    3
Dividend:   35  Divisor:   -5  Quotient:   -7  Remainder:    0
广告