编写函数,求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函数,求出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); }
- 下面程序的功能是计算 S= 0!+1!+2!+…+k! ( k>=0 )。 #include "stdio.h" long fun(int n) { int i; long s=1; for(i=1; ① ;i++) s*=i; return( ② ); } int main() { int k,n; long s; scanf("%d",&n); s= ③ ; for(k=0;k<=n;k++) s+= ④ ; printf("%ld\n",s); return 0; }
- 以下程序的功能是计算1到n的阶乘和,请填空。 long f(int n) { int i; long s; s=1; for(i=1; i <=n; i++) s=s*i; return s; } main() { long s; int k, n; scanf("%d", &n); s=0; for(k=0; k <=n; k++) s=s +_____ ;printf("%d\n",s); }
- 下列语句段中,不是死循环的是( )。 A: int i=100;while (1){i=i%100+1;if (i= =20) break;} B: int i=100,sum=0;for (i=1;;i++) sum=sum+1; C: int k=0;do{++k;}while(k>;=0); D: int s=100;while (s++%3+5%3) ++s;
- 下列语句段中不是死循环的是( )。 A: int i=100 B: While (1) C: i=i%100+1 D: if(i==20) break; E: int i sum=O; F: for (i=l;;i++) sum=sum +l; G: int k=0; H: do I: ++K J: while(k<=O); K: int s=3379; L: while (s+ +%2+3%2)s++;