求C语言问题呀,求各位大侠帮帮, 给下面程序的注释

#include<conio.h>#include<stdio.h>floatfun(intm,intn){inti,j,k;longintt=1,s=1,p=1;flo... #include <conio.h>
#include <stdio.h>
float fun( int m,int n)
{
int i,j,k;
long int t=1,s=1,p=1;
float q;
for(i=1;i<=m;i++) t*=i;
for(j=1;j<=n;j++) s*=j;
for(k=1;k<=m-n;k++) p*=k;
q=(float)t/s/p;
return q;}
main( )
{
printf("\np=%lf\n",fun(12,8));
}
展开
 我来答
我not高手
2010-07-16 · 超过14用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:40.4万
展开全部
#include <conio.h>/*预处理,头文件包含了conio.h里的所有库函数*/
#include <stdio.h>/*预处理,头文件包含stdio.h里的所有库函数*/
float fun( int m,int n) /*此为调用函数,调用函数为float型*/
{
int i,j,k; /*定义i,j,k为整型数据*/
long int t=1,s=1,p=1;/*定义t,s,p为长整型数据*/
float q;/*定义q为float型数据*/
for(i=1;i<=m;i++) t*=i;/*次循环功能是求m的阶乘,及从1*2*3*.....*m的值*/
for(j=1;j<=n;j++) s*=j;/*此循环式求n的阶乘*/
for(k=1;k<=m-n;k++) p*=k;/*次循环式求m-n所得的值的阶乘*/
q=(float)t/s/p;/*次处先将t强制转换为float型数据,在用来计算t/s/p的值*/
return q;}/*此处返回q的值*/
main( )/*这是主函数,不用说明了吧*/
{
printf("\np=%lf\n",fun(12,8));/*此处是输出函数,同时也是把12的值传给m,8的值传给n,带入上面的调用函数计算,最后输出的是返回的q的值*/
}
charleszhangji
2010-07-16 · TA获得超过4554个赞
知道小有建树答主
回答量:887
采纳率:0%
帮助的人:944万
展开全部
计算了m!/n!(m-n)!
也就是组合数 C(m,n) =m!/(m-n)!n!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式