首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。 xn+1=cos(xn) 迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,把x1的值赋给x0: (3)xl
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。 xn+1=cos(xn) 迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,把x1的值赋给x0: (3)xl
admin
2015-12-22
41
问题
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。
x
n+1
=cos(x
n
)
迭代步骤如下:
(1)取x1初值为0.0;
(2)x0=x1,把x1的值赋给x0:
(3)xl=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果Root=0.739086。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
double fun()
{
}
main()
{
void NONO();
printf("Root=%f\n",fun());
NONO();
}
void NONO()
{/(本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *wf;
wf=fopen("out.dat","w");
fprintf(wf,"%f\n",fun());
fclose(wf);
}
选项
答案
float x0, x1=0.0; do { x0=x1; x1=cos(x0); }while(fabs(x0-x1)>0.000001); return x1;
解析
该程序功能是利用简单迭代方法求方程的一个实根。牛顿迭代法的求解思想是从一个初始值开始,逐步逼近所求方程的根。
其具体过程是:将初始值代入迭代公式,得到一个迭代输出值。再次迭代时,将上一次的迭代输出值当作本次的迭代输入。不断重复以上过程,直到满足题目要求为止。
牛顿迭代公式为:x
n+1
=x
n
-f(x)/f(x)。
其求解过程在题干中已经给出。
转载请注明原文地址:https://kaotiyun.com/show/CWDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-′a′+′A′;s++;}}main(){charstr1[100]="abcddfefdbd",c=′d′
下面程序段的运行结果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));
已有定义:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是
利用fseek函数可实现的操作是()。
下列选项中,当x为大于1的奇数时,值为0的表达式是()。
下列循环体的执行次数是()。#include<stdio.h>main(){inti,j;for(i=0,j=1;i<j+1;i+=1,j--)printf("%d\n",j);}
用链表表示线性表的优点是()。
下列叙述中错误的是()。
设变量x和y均已正确定义并赋值。下列if语句中,在编译时将产生错误信息的是()。
简单的交换排序方法是()。
随机试题
腹膜后隙介于_________与_________之间;此间隙向上经腰肋三角与________相通,向下与__________相延续。
患儿,男,生后7天。因反复奶后呕吐,溢乳、呛咳,入院治疗。该男婴可能的临床诊断为
男,18岁。右膝上肿痛两个月,持续性逐渐加剧,夜间尤重。检查见患者消瘦,右膝肿胀,皮温稍热,静脉怒张,关节活动受限。确定诊断后,应采取的治疗方法是
地基设计是采用()设计原则,即在满足承载力计算的前提下控制地基变形。
某公司20×6年度发生以下经营业务:(1)销售产品取得收入9000万元,销售成本为6500万元。(2)出租闲置仓库取得租金收入200万元。(3)全年发生管理费用1300万元(其中业务招待费56万元),销售费用500万元(含广告费320万元)。
ABC会计师事务所拟接受甲公司委托审计其2018年度财务报表,经了解,审计项目团队成员A与甲公司的总会计师共同出资开办了乙公司,以下说法中正确的是()。
为什么人类比其他灵长类寿命更长?传统观点认为:这得益于现代医学的发展、充足的食物以及先进的卫生系统。但新研究表明,虽然上述因素在最近200年内,延长了人类的寿命,但人类寿命比其他灵长类长这一倾向,早在这之前就存在了。当人类的祖先开始更多地摄入肉食后,他们就
[*]
To:Allsupervisorssupervisors@haydenboutique.com>From:JulienHirschSubject:FashionShowAttachment:OnefileDate:F
Hewillneverbebulliedintoanychangeofhis______.
最新回复
(
0
)