问题遇到的现象和发生背景
任务描述
本关任务:编写一个用函数实现组合数的计算程序。
编程要求
组合数公式为:C(m,k)=m!/(k!(m-k)!),请实现求阶乘函数Factorial()和求组合数的函数Combination(),然后从main函数输入m,k,输出组合数。
假定输入的m和k符合条件,不需要特别处理。
用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
int Factorial(int c);
int Combination(int a,int b);
int main()
{
int m,k,p;
printf("Input m,k(10>=m>=k>0):\n");
scanf("%d,%d",&m,&k);//假定输入数据已经满足上述条件
/************Begin************/
p=Combination(m,k);
printf("p=%d",p);
/************End************/
return 0;
}
//定义组合数函数
int Combination(int a,int b)
{
int result;
result=Factorial(a)/(Factorial(b)*Factorial(a-b));
return result;
}
int Factorial(int c)
{
int i;
for(i=1;i<=c;i++){
i=1*i;
}
return i;
}
运行结果及报错内容
头歌实训输入输出结果:
数据一:8 1 预期结果:8 实际结果:0
数据二:8 2 预期结果:28 实际结果:0
电脑上Dev-C++输入输出结果:
输入任意数 输出结果:1
我的解答思路和尝试过的方法
我对程序运行顺序的理解:
我想要达到的结果
希望能找出是顺序问题还是编程问题