函数前习题总结.docxVIP

  • 27
  • 0
  • 约9.39千字
  • 约 13页
  • 2017-12-26 发布于河南
  • 举报
函数前习题总结

编程题:公试计算2T3请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005, 即某项小于0.0005时停止迭代): 程序运行后,如果输入精度0.0005,则程序输出为3.140578。 注意:部分源程序存在文件prog.c中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include stdio.h#include math.hdouble fun ( double eps){ }main( ){ double x; printf(Input eps:) ; scanf(%lf,x); printf(\neps = %lf, PI=%lf\n, x, fun(x));}参考程序: double fun ( double eps){ int n=0; double down=1,up=1; double one ,pi=0; one = (double)up/(double)down; while(one=eps) {/*通过循环语句判断公式中某项是否在精度范围之内*/ pi+=one; n++; up=up*n; down=down*(2*n+1); one=(double)up/(double)down; } return pi*2;}20T-33、 请编写函数fun,其功能是:计算并输出下列多项式的值: 例如,在主函数中从键盘给n输入8后,输出为:s=0.662872。 注意:要求n的值大于1但不大于100。 部分源程序在文件prog.c中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include stdio.hdouble fun(int n){ }main(){ int n;double s; printf(\nInput n: ); scanf(%d,n); s=fun(n); printf(\ns=%f\n,s);}参考程序:double fun(int n){ int i;double sum=0.0; /*定义sum为双精度型变量,并给其赋初值为0.0*/if (n1n=100){for(i=1;i=n;i++)sum+=1.0/(2*i-1)-1.0/(2*i); /*计算出1.0/(2*i-1)-1.0/(2*i)相应的每一个多项式的值,同时累加到变量sum中*/}return sum; /*返回计算结果*/}21T-33、请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。 注意:要求n的值不大于100。 部分源程序在文件prog.c中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include stdio.hdouble fun(int n){ }main(){ int n;double s; printf(\nInput n: ); scanf(%d,n); s=fun(n); printf(\n\ns=%f\n,s);}参考程序:#include stdio.hdouble fun(int n){int i; double sum=0.0; /*将sum定义为双精度型变量,并给其赋初值为0.0*/if(n0n=100){for (i=1;i=n;i++) if(i%5==0||i%9==0) /*判断i是否能被5或者9整除*/ sum+=1.0/i; /*累加自然数的倒数之和,放入变量sum中*/}return sum; /*返回结果*/}22T-3请编写函数fun,其功能是:计算并输出当x0.97时下列多项式的值,直到|S(n)-S(n-1)|0.000001为止。 例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。 注意:部分源程序在文件prog.c中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include stdio.h#include math.hdouble fun(double x){ }main(){ double x,s; printf(Input x: ); scanf(%lf,x); s=fun(x); printf(s=%f\n,s);}参考程序:double fun(double x){ int n=1;/* 循环计数*/ double sn=1;/* 累计数*/ double xn=1,xn1=0;/*x的n值,以及x的n-1值;*/ while(

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档