以下程序的功能是计算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); }
举一反三
- 下面程序的功能是计算 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!+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)); }
- 下面的程序是求1!+3!+5!+……+n!的和。 #include main { long int f,s; int i,j,n; (1) ; scanf("%d",&n); for(i=1;i<=n; (2) ) { f=1; for(j=1; j<=i;j++) (3); s=s+f; } printf("n=%d,s=%ld ",n,s); }
- 输入正整数n,计算s = 1/1! + 1/2! + 1/3! + ……+ 1/n!的值。 #include int main { int j, k, n; double f, s; scanf("%d", &n); s= (1) ; for (k=1; k<=n; k++) { f= (2) ; for(j=1; (3) ; j++) f= (4) ; s=s+1/f; } printf("sum=%f ", s); return 0; }
- 中国大学MOOC: 下列程序的功能是输出数组s中最大元素的下标。#include <stdio.h> int main(){int k,i;int s[]={3,-8,7,2,-1,4};for(i=0,k=0;i<6;i++)if(s[i]>s[k]) ;printf("k=%d\n", k);return 0;}