首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun和funx的功能是:用二分法求方程2x3一4x2+3x一6=0的一个根,并要求绝对误差不超过0.001。 例如,若给m输入一100,给n输入90,则函数求得的一个根为2.000。 请改正程序中的错误,使它能得出正确的结
下列给定程序中,函数fun和funx的功能是:用二分法求方程2x3一4x2+3x一6=0的一个根,并要求绝对误差不超过0.001。 例如,若给m输入一100,给n输入90,则函数求得的一个根为2.000。 请改正程序中的错误,使它能得出正确的结
admin
2017-09-23
20
问题
下列给定程序中,函数fun和funx的功能是:用二分法求方程2x
3
一4x
2
+3x一6=0的一个根,并要求绝对误差不超过0.001。
例如,若给m输入一100,给n输入90,则函数求得的一个根为2.000。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < math.h >
double funx(double x)
{
return(2*x*x*x一4*x*x+3*x一6);
}
double fun(double m,double n)
{
/*********found*********/
int r;
r=(m+n)/2;
/*********found*********/
while(1abs(n一m) < 0.001)
{
if(funx(r)jIc funx(n) < 0)
m=r;
else
n=r;
r=(m+n)/2;
}
return r;
}
main()
{
double m,n,root;
printf("Enter m n:\n");
scanf("%lf%lf",&m,&n);
root=fun(m,n);
printf("root=%6.3f\n",root);
}
选项
答案
(1)double r; (2)while (fabs(n 一 m))0.001)
解析
(1)程序中会发现r= (m+n)/2,而m和n都是double型的,并且根据题意可知,变量r需要定义为double型。
(2)绝对误差不超过0.001,所以循环条件应为fabs(n一m) >0.001。
转载请注明原文地址:https://kaotiyun.com/show/a7Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’h’,’\0’};inti,j;i=sizeof(A);j
以下程序的运行结果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}
以下程序调用函数swap将指针s和t所指单元(a和B)中的内容交换,请填空。main(){inta=10,b=20,*s,*t;s=&a;t=&b;()printf("%d%d",a,B);}swa
以下程序的运行结果是()。#defineS(x)x*xmain(){intk=1;while(k<=4){printf("%d,",S(k));k++;}
有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwrite(a,sizeof(int)
设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
诊断和改正程序中错误的工作通常称为()。
随机试题
这个标志的含义是告示前方道路施工,车辆左右绕行。
湿性坏疽可发生于
“固定资产”项目在资产负债表上需要根据()。
享有“中国陶都”之称的是()。
案例:课堂教与学的行为是一个整体,教与学总是同时发生,相伴而行的。有学者观察了两位教师(A为专家型教师,B为新手型教师)关于“原子构成”的课堂教学行为,并将所观察的教与学的行为种类的频次和时长等分别进行统计,结果见表1。根据上述材料,回答下列问题:
下列有关清末预备立宪活动的表述,正确的有()。
当用户双击一个文件名时,Windows系统通过建立的______来决定使用什么程序打开该文件。
数据规划的步骤可粗略地划分为下列几步:建立企业模型、确定研究的范围或边界、建立业务活动过程【】、审查规划的结果等。
有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}whil
已知某序列为{49,38,65,97,76,13,27},试采用该序列的第一个元素为枢轴进行快速排序,则经过一趟快速排序之后所得到的序列为:【】。
最新回复
(
0
)