本题要求实现一个计算阶乘的简单函数,使得可以利用该函数,根据公式
算出从n个不同元素中取出m个元素(0<m≤n)的排列数。
函数接口定义:
double fact( int n );
其中n是用户传入的参数,函数返回n的阶乘。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
double fact(int n);
int main(void)
{
int m, n;
double result;
scanf("%d%d", &m, &n);
if (m > 0 && n > 0 && m <= n) {
result = fact(n) / fact(n - m);
printf("result = %.0f\n", result);
}
return 0;
}
double fact(int n)
{
double temp = 1;
for (int i = 1; i <= n; i++)
{
temp = temp * i;
}
return temp;
}