输入m,n值,计算组合数p = C(n,m)

#include<stdio.h>
void main()
{
double p = 1.0;
int m,n,k;
printf("input n,m:");
scanf("%d%d",&n,&m);
if(n<0||m<0||m>n){
printf("输入的数据不正确!\n");
return;
}
if(m>n-m)m = n-m;
for(k = 1;k<=m;k++){
p = p*(n-m+k)/k;
}
printf("C(%d,%d)=%.0f\n",n,m,p);
}
该程序接收用户输入的n和m值,然后计算组合数C(n,m),如果输入数据不正确,程序会给出提示。采用循环结构进行计算,当m大于n-m时,m值被调整为n-m,以确保正确性。
1670

被折叠的 条评论
为什么被折叠?



