#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);
}
举一反三
- 编写函数,求1!+2!+3!+ …+K!的和 long fac( ) { int i; long s,sum; s= ; sum= ; for(i=1;i<=K;i++) { s= ; sum= ; } return sum; } void main( ) { int K; scanf("%d",&K); printf("1!+2!+...+K!=%ld\n", fac(K)); }
- 调用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)!否则不得分 }
- 1.程序功能:输入n的值(n<10),计算1!+2!+3!+......+n!,并输出计算结果。 #include int main() { int i, n; long sum=0,fac=1; //fac存储每个加项(阶乘)的值 printf("请输入n的值:"); scanf("%d",&n); for( i=1; i<=n; i++) { ___________ //后一加项与前一加项的关系 sum=sum+fac; } printf("和为%ld ",sum); return 0; }
- 从键盘上输入一个正整数n,计算并输出n的阶乘。 例如,如果从键盘上输入8, 程序的运行结果应为:The result is: 40320。 #include #include #include long fac( int n ) { int i; long t=1; for( i=2;i<=n;i++) t = t*i; return (t); } main() { int n; long int s; clrscr(); printf("Enter an integer number:"); /************found************/ ____(1)____; s = fac(n); /************found************/ printf("The result is : ____(2)____ ",s); }
- 使用递归函数计算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;
内容
- 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;
- 1
下面程序用来计算1+1/2!+1/3!+…1/10!,请完善程序。#includeintmain(){inti,j;sum=0,fac;for(i=1;i<=10;i++){fac=1;for(j=1;j<=i;j++)fac=fac*j;sum=sum+1/fac;}printf("%f",sum);return0;}
- 2
#include void main() { int I=1,sum=0; while(I<10) sum=sum+1; I++; printf(“I=%d,sum=%d”,I,sum); }
- 3
以下函数的功能是计算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; }
- 4
设变量n已正确定义并赋值,以下不能实现自然数1到n累加求和的程序段是______。 A: int sum=1, i=0;while(i<=n){i++; sum+=i;} B: int sum=0,i=1;while(i<=n){ sum+=i;i++;} C: int sum=0, i=0;while(i<=n){i++; sum+=i;} D: int sum=1, i=1;while(i<=n){i++; sum+=i;}