您的位置:首页 > 编程语言 > C语言/C++

用C语言求排列组合数

2019-05-31 20:14 585 查看

用C语言求排列组合数

#include <stdio.h>
#include <stdlib.h>

double f(int a, int b);//因为排列数可大可小,所以返回值类型应为double//

int main()
{
int a,b;
printf("提醒下标比上标大\n");
printf("请输入排列组合的上标及下标:");
scanf_s("%d %d", &a, &b);
printf("排列组合数=%lf\n", f(a, b));
system("pause");
return 0;

}

double f(int a, int b)
{
double t[3];
int i;
for (i = 0; i <= 2; i++)//每个阶乘都需赋值,要不然自动去负值//
t[i] = 1;
for (i = 1; i<=a; i++)
t[0] *= i;
for (i = 1; i <= b; i++)
t[1] *= i;
for (i = 1; i <= (b-a); i++)
t[2] *= i;
return t[1]/t[2]/t[0];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: