C语言题库第三章,C语言题库-第三章.doc

程序设计

1, /*编写函数fun,它的功能是:求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。

例如,n为1000时,函数值应为s=96.979379。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:*/

#include

#include

#include

double fun(int n)

{

/***************Begin************/

/*************** End ************/

}

void main()

{

FILE *wf;

printf("s=%f\n", fun(1000));

/******************************/

wf=fopen("debug\\out6.dat","w");

fprintf(wf,"%lf",fun(1000));

fclose(wf);

/*****************************/

}

【参考代码】

double fun(int n)

{double s=0.0;

int i;

for(i=0;i

if(i%5==0&&i%11==0)

s=s+i;

s=sqrt(s); /*对s求平方根*/

return s;

}

2, /*编写函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正数且要求m>n。

P=m!/(n!(m-n)!),例如,m=12,n=8时,运行结果为495.000000。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:*/

#include

#include

float fun (int m, int n)

{

/***************Begin************/

/*************** End ************/

}

void main ()

{

FILE *wf;

printf ("p=%f\n",fun (12,8) ) ;

/******************************/

wf=fopen("debug\\out8.dat","w");

fprintf (wf,"%f",fun(13,8));

fclose(wf);

/*****************************/

}

【参考代码】

int i;

double p=1.0;

for(i=1;i<=m;i++)

p=p*i; /*求m!*/

for(i=1;i<=n;i++)

p=p/i; /*求m!/n!*/

for(i=1;i<=m-n;i++)

p=p/i;/*求m!/(n!(m-n)!)*/

return p;

3, /*编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0 的一个实根。

xn+1=cos(xn)

迭代步骤如下:

(1)取x1初值为0.0;

(2)x0=x1,把x1的值赋给x0;

(3)x1=cos(x0),求出一个新的xl;

(4)若x0-x1,的绝对值小于0.000001,则执行步骤 (5),否则执行步骤(2);

(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

程序将输出结果Root=0.739085。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:*/

#include

#include

float fun()

{

/***************Begin************/

/*************** End ************/

}

void main( )

{

FILE *out;

float f=fun();

printf("Root=%f\n",f);

/******************************/

out =fopen("debug\\out11.dat","w");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值