这是一个使用C语言函数的示例:计算组合数 C(m,n) 的值(m≤10)。

组合数 C(m,n) 可以理解为从 m 个数中任意取出 n 个数的所有情况数。在数学中,求组合数 C(m,n) 的值可以借助 m 和 n 的阶乘来计算,计算公式为:

从上面的计算公式可以看出,求组合数 C(m,n) 的值,需要进行三次阶乘运算。为了简化程序,可以把阶乘运算设计为函数 fac(x),求组合数时调用该函数即可。

代码清单 1:计算组合数 C(m,n) 的值(m≤10)

#include

#include

long int fac(int x) //定义阶乘函数

{

int i;

long int s = 1;

for(i=1;i<=x;i++)

s *= i;

return s;

}

int main( ) //主函数

{

int m, n;

printf("输入m和n(m≤10,n≤m):\n");

scanf("%d %d",&m, &n);

printf("C(m,n)=%ld\n",fac(m)/(fac(m-n)*fac(n)));

system("pause");

return 0;

}

运行结果为:

输入m和n(m≤10,n≤m):

11 5

C(m,n)=462

更多推荐

c语言用函数求组合数编程,C语言函数-C语言求组合数