调用fac函数,求出m!/(m-n)!,m和n的值随机输入,补充完整以下程序。
#include
double fac(int n) //n!的定义
{ int i;
double t=1;
for(i=2;i<=n;i++)
_____①_____;
return t;
}
void main()
{ int m,n;
scanf("%d,%d",&m,&n);
printf("%f
", _____②______); //调用fac()函数,求解m!/(m-n)!否则不得分
}
#include
double fac(int n) //n!的定义
{ int i;
double t=1;
for(i=2;i<=n;i++)
_____①_____;
return t;
}
void main()
{ int m,n;
scanf("%d,%d",&m,&n);
printf("%f
", _____②______); //调用fac()函数,求解m!/(m-n)!否则不得分
}
举一反三
- 调用fac函数,求出1!+2!+3!…+10!,补充完整以下程序。 #include long fac(int n) //n!的定义 { int i; long t=1; for(i=2;i<=n;i++) _____①_____; return t; } void main() { int i;long sum=0; for(i=1;i<=10;i++) sum=_____②______;//调用fac()函数求解,否则不得分 printf("%ld ",sum); }
- 使用递归函数计算n!(n=0,1,2,3,……)的是( ) A: fac(int n) B: int i,f=1; C: if(n==0)return 1; D: else for(i=1;i<=n;i++)f*=i; E: return f; F: fac(int n) G: if(n==0||n==1)return 1; H: else return n*fac(n-1); I: fac(int n) J: int i=1,f=1; K: if(n==0)return 1; L: else while(i<=n)f*=i++; M: return f; N: fac(int n) O: int i=1,f=1; P: if(n==0)return 1; Q: else dof*=i;while(i++<n); R: return f;
- 程序填空,使下面程序实现输出N!(N<=10000)的最低三位。#include <stdio.h>int main(){int N,M=1;scanf("%d",&N);for (int i=1;i<=N;i++){M=M*i;M=__________;}printf("%03d",M);return 0;}?
- 使用递归函数计算n!(n=0,1,2,3,…)的是______ A: fac(int n) if(n==0)return 1; else for(i=1;i<=n;i++)f*=i; return f; } B: fac(int n) { if(n==0‖n==1)return 1; else return n*fac(n-1); } C: fac(int n) {int i=1,f=1; if(n==0)return 1; else do{f*=i;}while(i++<n); return f; } D: fac(int n) {int i=1,f=1; if(n==0)return 1; else while(1<=n)f*=i++; return f;
- 以下函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填空。 double fun(int n) { double s=0.0,fac=1.0; int i; for(i=1;i<=n;i++) { fac=fac 【 】; s=s+fac; } return s; }