程序设计
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");