浙大版《C语言程序设计(第3版)》题目集 练习2-18 求组合数 (15 分)

本题要求编写程序,根据公式Cnm​=m!(n−m)!n!​算出从n个不同元素中取出m个元素(m≤n)的组合数。

建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double

输入格式:

输入在一行中给出两个正整数m和n(m≤n),以空格分隔。

输出格式:

按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

输入样例:

2 7

结尾无空行

输出样例:

result = 21

结尾无空行

#include<stdio.h>
int fact(int x)
{
	int i=1,sum=1;
	for(;i<=x;i++)
	{
		sum*=i;
	}
	return sum;
 } 
 int main()
 {
 	int m,n,result;
 	scanf("%d %d",&m,&n);
 	result=fact(n)/fact(m)/fact(n-m);
 	printf("result = %d",result);
 	return 0; 
 }

我是初学者,有错误或有更好方法希望各位高手指出。

猜你喜欢

转载自blog.csdn.net/zbysbodyguard/article/details/119843439