C语言程序设计练习题(含程序及参考答案)

2010-2011 C语言程序试题及答案

19、计算并输出当0

例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。 #include #include double fun(double x) {

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 fun(int n) { int i;

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 页

联系客服:779662525#qq.com(#替换为@)