排列组合c语言
时间: 2023-06-21 19:05:35 浏览: 105
基于c语言排列组合算法
以下是一个简单的排列组合的 C 语言程序:
```c
#include <stdio.h>
int factorial(int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int combination(int n, int r) {
return factorial(n) / (factorial(r) * factorial(n - r));
}
int permutation(int n, int r) {
return factorial(n) / factorial(n - r);
}
int main() {
int n, r;
printf("Enter the value of n: ");
scanf("%d", &n);
printf("Enter the value of r: ");
scanf("%d", &r);
printf("\n");
if (n < r) {
printf("Error: n must be greater than or equal to r.\n");
} else {
printf("Combination of %d and %d = %d\n", n, r, combination(n, r));
printf("Permutation of %d and %d = %d\n", n, r, permutation(n, r));
}
return 0;
}
```
这个程序使用递归函数来计算阶乘,然后计算排列组合的公式。用户需要输入 n 和 r 的值,程序会计算并输出它们的排列组合。如果用户输入了一个无效的值,程序会输出错误信息。
阅读全文