1. 程式人生 > >C語言組合數小程式

C語言組合數小程式

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int cup(int j);   //定義實現階乘的函式
int main(int argc, char *argv[]) {
	int i,n,m,item1,itema,itemb,itemc;
	double item;
	scanf("%d",&n);    //輸入比m大的數
	scanf("%d",&m);    
	item1=n-m;         //為組合數公式作準備
	itema=cup(n);      //以下同理,呼叫階乘函式計算各個部分的階乘
	itemb=cup(m);
	itemc=cup(item1);
	item=itema*1.0/(itemb*itemc);   //組合數公式的運用
	printf("%f",item);
	return 0;
}
int cup(int j)
{
	int i,product;
	product=1;
	for(i=1;i<=j;i++){
		product=product*i;     //階乘計算方法
	}
	return product;
}