资源描述
5.循环操作
5.1当循环
6.22.简单应用题
编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。
xn+1 =cos(xn)
迭代步骤如下:
(1)取x1初值为0.0。
(2)x0=x1,把x1的值赋给x0。
(3)x1=cos(x0),求出一个新的x1。
(4)若x0-x1的绝对值小于0.000001, 则执行步骤(5),否则执行步骤(2)。
(5)所求x1就是方程cos(x)-x=0的一个实根,做为函数值返回。
程序输出结果Root=0.739085。
注意:部分源程序已存在文件test6_2.cpp中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
文件test6_2的内容如下:
#include<conio.h>
#include<math.h>
#include<iostream.h>
float fun()
{
}
void main()
{
cout<<"Root="<<fun()<<endl;
}
【答案】
float fun()
{ float x1=0.0,x0;
do
{ x0=x1;
x1=cos(x0);
}
while(fabs(x0-x1)>=1e-6);
return x1;
}
5.2自然数的倒数之和
45.22.简单应用题
请编写函数fun(),它的功能是计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
例如:从键盘给n输入20后,则输出为s=0.583333。
注意:部分源程序以存在文件test45_2.cpp中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
文件test_2.cpp的内容如下:
#include<stdio.h>
#include<iostream.h>
double fun(int n)
{
}
void main()
{
int n;
double s;
cout<<"Input n"<<endl;
cin>>n;
s=fun(n);
cout<<"\ns="<<s<<endl;
}
【答案】
double fun(int n)
{ int i;
double sum=0.0;
for(i=1;i<=n;i++)
if(i%5==0||i%9==0)
sum+=1.0/i;
return sum;
}
展开阅读全文