2010-2011 C语言程序试题及答案
19、计算并输出当0 例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。 #include int n=1; /* 循环计数*/ double sn=1; /* 累计数*/ double xn=1,xn1=0; /*x的n值,以及x的n-1值;*/ while(fabs(xn-xn1)>=0.000001)/*绝对值是否合格*/ { xn=xn*x*(0.5-n+1)/n; /*表达式分解以后xn=(xn-1)*x*(0.5-n+1)/n*/ n+=1; sn+=xn; /*sn累加上xn*/ } return sn; } void main() { 第 17 页 共 46 页 2010-2011 C语言程序试题及答案 double x,s; printf(\ s=fun(x); printf(\} 20、计算并输出s。 x^2 x^3 x^n s = 1 + x + ── + ── + …… + ── 2! 3! n! n,x从键盘输入,例如,当n=10,x=0.3时,函数值为1.349859。 #include double fun(double x,int n) { int i; double f=1.0,h=x; double s=1; s=s+h/f; for (i=2;i<=n;i++) { f=f*i;h=h*x; s=s+h/f; } return s; } 第 18 页 共 46 页 2010-2011 C语言程序试题及答案 void main() { printf(\ } 21、从键盘输入high,计算并输出high以内最大的10个素数之和。例如,输入high的值为100,则输出732。 #include int fun( int high ) { int sum = 0, n=0, j, yes; while ((high >= 2) && (n < 10)) { yes = 1; for (j=2; j<=high/2; j++ ) if (high % j ==0 ) { yes=0; break; } if (yes==1) { sum +=high; n++; } high--; } 第 19 页 共 46 页 2010-2011 C语言程序试题及答案 return sum ; } void main ( ) { printf(\} 22、请编写函数float fun(int n),它的功能是:返回n(包括n)以内能被5或9整除的所有自然数的倒数之和。例如,n=20,返回0.583333。注意:要求n的值不大于100。 #include double sum=0.0; if(n>0&&n<=100) { for (i=1;i<=n;i++) if(i%5==0||i%9==0) sum+=1.0/i; } return sum; } void main() { 第 20 页 共 46 页