首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求m>n。 例如:m=12,n=8时,运行结果为495.000000。 注意:部分源程序在文件PROGl.C文件中。 请勿改动主函数main和其他函数中的
编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求m>n。 例如:m=12,n=8时,运行结果为495.000000。 注意:部分源程序在文件PROGl.C文件中。 请勿改动主函数main和其他函数中的
admin
2013-03-29
52
问题
编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求m>n。
例如:m=12,n=8时,运行结果为495.000000。
注意:部分源程序在文件PROGl.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
float fun(int m,int n)
{
}
main() /*主函数*/
{ void NONO();
pzintf("p=%f\n",fun(12,8));
NONO();
}
VOid NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE*fp,*wf;
int i,m,n ;
float s;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fscanf(fp, "%d,%d", &m, &n);
s=fun(m,n);
fprintf(wf,"%f\n",s);
}
fclose(fp);
fclose(wf);
}
选项
答案
float result,temp=1.0; int i; for(i=1;i<=m;i++) temp=temp*i; //求m! result=temp; //result=m! for(temp=1.0,i=l;i<=n;i++) temp=temp*i; //求n! result=result/temp; //求m!/n! for(temp=1.0,i=1;i<=m—n;i++) temp=temp*i; //求(m—n)! result=result/temp; //求m!
解析
进入fun函数,根据前面的分析:
首先,计算m!的值,先定义一个放阶乘值的变量temp,初值为1.0,通过循环的方法,用累乘器"temp=temp*i;"实现n!。同理可以求得n!、(m-n)!。
其中,result用来存放计算结果。
最后,根据题意,函数fun的函数体以return语句结束。
转载请注明原文地址:https://kaotiyun.com/show/fWJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有如下程序:main(){intx=5,y,*t;t=&x;y=++(*t);printf("%d,%d",x,y);}则程序执行后的x值为【】,y的值为【】。
若有如下程序:voidsub(){staticintx=6;x/=2;printf("%d",x);}main(){intm;for(m=0;m<=2;m++)sub();}则程序
下列程序执行后的输出结果是()#defineMA(x)x*(x-1)main(){inta=1,b=2;printf("%d\n",MA(1+a+B));}
下列程序执行后输出的结果是()#include<stdio.h>f(intA){intb=0;staticc=3;a=c++,b++;return(A);}mai
以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(键表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#include<stdio.h>structlis
下面程序的功能是输出数组s中最大元素的下标,请填空。main(){intk,p,s[]={1,-9,7,2,-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k])【】
在程序设计阶段应该采取【】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。 main() /* Beginning */ {int r;float s; scanf("%d",&r); s=*I*r*r; printf(
以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;[];i++){j=i*10
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
患者胸痛反复发作半年,刻下心痛彻背,背痛彻心,疼痛剧烈,身体肢冷,喘不能卧,舌苔白,脉沉紧治疗首选)(1993年第68题)
A、Sitdownandtrytocalmyourself.B、Callyourfamilyorfriendsforhelp.C、Useamaptoidentifyyourlocation.D、Trytofol
相反,美国的母亲更可能把孩子的成功归因于自然天赋。
风湿性疾病是指
项目决策遵循的原则是()。
下列不属于企业所得税的纳税人的是()。
ByfarthemostcommonsnakeinBritainistheadder(奎蛇).InScotland,infact,therearenoothersnakesatall.Theadderisa
代表中国古代法制最高水平的是()。
"Themoregadgetsthereare,the【C1】______thingsseemtoget."saidHonoreErvin,co-authorofTheEtiquetteGirls:ThingsYou
EarthquakesAnearthquakeistheresultofasuddenreleaseofenergyintheEarth’scrust./Itstartswhentwoplatesmove
最新回复
(
0
)