永发信息网

C语言算组合题找错误

答案:2  悬赏:20  手机版
解决时间 2021-06-05 10:22

#include<stdio.h>
int fact (int n);
int main()
{
int n,m,result=0;
printf("Enter m:");
scanf("%d",&m);
printf("Enter n:");
scanf("%d",&n);
if(m>n)printf("输入错误");
else { n = fact(n); //求result = n!/(m!*(n-m)!);
m = fact(m);
result = n/(m*(n-m));
printf("result = %d",result); }
}
int fact (int n)
{
int i,sum=1;
for(i=1;i<=n;i++)
sum = sum*i;
return sum;
}

为什么输入

Enter m: 5

Enter n: 12

result = 0

?

最佳答案

你要求result = n!/(m!*(n-m)!)而不是result = n!/(m!*(n-m));


n-m的阶乘没求!


#include<stdio.h>
int fact (int n);
int main()
{
int n,m,k,result=0;
printf("Enter m:");
scanf("%d",&m);
printf("Enter n:");
scanf("%d",&n);
if(m>n)printf("输入错误");
else { n = fact(n); //求result = n!/(m!*(n-m)!);
m = fact(m);


k = fact(n-m);
result = n/(m*k);
printf("result = %d",result); }
}
int fact (int n)
{
int i,sum=1;
for(i=1;i<=n;i++)
sum = sum*i;
return sum;
}

全部回答

嘻嘻

#include<stdio.h> int fact (int n); int main() { int n,m,k,result=0; printf("Enter m:"); scanf("%d",&m); printf("Enter n:"); scanf("%d",&n); if(m>n)printf("输入错误"); else { k=n-m; n = fact(n); //求result = n!/(m!*(n-m)!); m = fact(m);

result = n/(m*fact(k)); printf("result = %d\n",result); } } int fact (int n) { int i,sum=1; for(i=1;i<=n;i++) sum = sum*i; return sum; }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
设置Q币帐户消费限额忘记支付密码了怎么办啊
谁能给我棒棒堂王子的资料
学习物理电压表和电流表有什么技巧
蒸湘区衡阳环城食用油厂哪位知道具体地址啊
为什么诛仙2成就系统里普通战场 炎域之王 我
扎四平马步时上身该怎麽样
有两本小说是同一个国籍主人公都经历磨难都是
在UG4.0里如何做加工坐标系
DNF日服试衣间连接不上,有新网址吗?
罗山县信阳吕氏香辣虾(罗山店)在什么地方啊,
神州行的卡号密码看那里啊
东海动态QQ空间头像
FM06,CM2007汉化补丁有吗
谁能帮我弄到鬼谷子全集+译文啊 谢谢
寻2009年下半年好听的[情歌] 注意情歌哦!
推荐资讯
我昨天买了一瓶国产欧莱雅雪颜美白乳液,生产
我要简单的增肥办法
一个女人赤裸坐在石头上,打一成语。
DNF玩不了吗
上海深圳工作哪个地方会更好?
为什么有的人沉迷在网络上面?
谁可以教我几招科比的过人动作?最好有视频(
男生对初恋女友是不是也很难忘?
逍遥游 董贞 歌词
为什么女人一定要生孩子
成吉思汗刺陵大礼包?成吉思汗新手卡,谁给我
为什么别人看到我会眼睛一亮的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?