两道C语言程序题目,急!1.请设计程序,用牛顿迭代法求f(x)=cos(x)-x的近似根,要求精确到10-6。(1)用函数floatnewtoon(floatx)求方程在x附近的根;(2)用函数floatF(floatx)求x处的函数值,用函数
1.请设计程序,用牛顿迭代法求f(x)=cos(x)-x的近似根,要求精确到10-6。 (1)用函数float newtoon(float x)求方程在x附近的根; (2)用函数float F(float x)求x处的函数值,用函数float F1(float x)求f(x)在x处的导数; (3)在主函数中输入x0,调用函数求得方程的近似根(精度要求为10-5),并输出结果。 2.已知f(x)=lnx+x2在(1/e, 1)内有唯一的一个实根。请设计程序,用二分法求该近似实根。精确到|f(x)|<0.0001为止。 (1)用函数float eff(float x)求方程在x附近的根; (2)在主函数中输入x,调用函数求得方程的近似根,并输出结果。
第一题代码如下,很简单所以没有什么注释:
#include<stdio.h>
#include<math.h>
float Fl(float x)
{
float y;
y=cos(x)-x;
return y;
}
float newtoon(float x)
{
float y;
y=x-Fl(x)/(-sin(x)-1);
return y;
}
void main()
{
float x0,x1;
printf("Please input x0:\n");
scanf("%f",&x1);
do
{
float z;
x0=x1;
x1=newtoon(x0);
}while(fabs(x1-x0)>=1e-5);
printf("The root of equation is %f\n",x1);
}
纠正一下上面没看清题目,应该是1e-6
第二题代码如下:
#include<stdio.h>
#include<math.h>
double eff(double x)
{
double y;
y=log(x)+pow(x,2);
for(;y<=1e-4;){
if(y>0)
{
x=(x+1/exp(1))/2;
eff(x);
}
else
{
x=(x+1)/2;
eff(x);
}
}
return y;
}
void main()
{
double x,z;
printf("Please input x:\n");
do
{
scanf("%lf",&x);
}while(x<=1/exp(1)||(x>=1));//输入的数字必须在区间内,因为题目中已经指出在这个区间有一个根!
z=eff(x);
printf("the root of the equation is:%lf\n",z);
}
上面的程序我都运行了一下,差不多对了,第二题用double和float其实是一样的,只不过log函数得到的是double型数据,为了使得程序更加精确我擅自修改了下,楼主改回float也可以。
在探究“影响滑动摩擦力大小的因素”的实验中.(1)为了探究滑动摩擦力与速度大小的关系 在不同速度下 2020-05-16 …
《我身上裹着的是我的父母》阅读答案北极,被称为世界的冰窖.在这儿,生活着一种浑身长满绒毛的鸟儿—— 2020-05-16 …
下列情形之一的程序,不应当被认定为《中华人民共和国刑法》规定的“计算机病毒等破坏性程序”的是:() 2020-05-26 …
在探究影响电流做功大小的因素的实验中:探究1:小华同学设计了如图所示的电路图(1)用如图所示的电路 2020-06-12 …
下列各句中加粗的成语的使用,不恰当的一项是A.达芬奇提出“做自然的儿子”,那是因为在中世纪的后期, 2020-07-04 …
excel的排序问题2007版的excel对多行文字进行排序,在排序对话框中,选中了一列,排序依据 2020-07-28 …
下面的语句是一个计算机程序的操作说明:(1)初始值为x=1,y=1,z=0,n=0;(2)n=n+1 2020-11-03 …
科学研究揭示,与病毒和肿瘤作战的T细胞,具有短期保护和长期保护的分工.当研究人员捕捉到刚刚分化的T细 2020-11-06 …
榨油机榨油的工序有几个有没有一次完成的榨油设备有没有一台设备就能完成所有榨油工序的比如说油料倒进设备 2020-12-01 …
二战很大程度上源于世界经济的无序、恶性竞争,战后国际社会为此做出了积极努力,建立了新的世界经济秩序。 2020-12-05 …