下面程序的功能是计算 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); }
- 编写函数,求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)); }
- 中国大学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;}
- 设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。请填空。# include< stdio.h>int main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10};int k,s,i;float ave;for(k=s=i=0;i<10;i++){ if(a[i]%2 !=0)( );s+=( );k++;}if( k!=0 ){ ave = s/k;printf("%d,% f\n",k,ave);}return 0;}
- 分析以下算法的时间复杂度。void fun( int n)i{ int s = 0,i,i,k; for (i - 0; i<= n; i++ ) for (j= 0;j<=i;j++) for (k = 0;k<j;k++) s tt ;}