首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下: 例如,a为2时,平方根值为:1.414214。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更
给定程序MODll.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下: 例如,a为2时,平方根值为:1.414214。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更
admin
2013-03-29
60
问题
给定程序MODll.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:
例如,a为2时,平方根值为:1.414214。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
#include
/******************found*******************/
double fun(double a,dounle x0)
{double x1,y;
xl=(x0+a/x0)/2.0;
/******************found*******************/
if(fabs(x1—x0)>0.00001)
y=fun(a,x1);
else y=x1;
return Y;
}
main()
{double x;
printf("Enter x:");scanf
("%1f",&x);
printf f"The square root of%lf
is%lf\n",x,fun(x,1.0));
}
选项
答案
(1)double fun(double a,double x0) (2)if(fabs(x1—x0)>0.00001)
解析
(1)主函数中“fim(x,1.0)",x是double型变量,1.0是浮点数,可知fun有两个double型参数,而第一标识下“dounle"不是C语言关键字,所以应将“double fun(doublea.dounle x0)"改为“double fun(double a,double x0)"。
(2)第二个标识下的if语句是判断进行递归运算的条件,第二标识下变量x0没有定义,根据题意,这里是判断x1和x0的差值的绝对值是否比0.00001大,所以第二个标识下“if(fabs(x1-xo)>0.00001)"改为“if(fabs(x1—x0)>0.00001)"。
转载请注明原文地址:https://www.kaotiyun.com/show/fPJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(键表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#include<stdio.h>structlis
下面程序的功能是输出数组s中最大元素的下标,请填空。main(){intk,p,s[]={1,-9,7,2,-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k])【】
设有一共用体变量定义如下:uniondata{longw;floatx;inty;charz;};uniondatabeta;执行下列语句后,正确的共用体变量beta的
以下程序的输出结果为()。#include<stdio.h>main(){char*alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;
下列二维数组初始化语句中,不正确的是()。
阅读下面程序段,则执行后的结果为#include"stdio.h"main(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(intm,intn
运行下面的程序,其输出结果为______。main(){printf("%d,%d",5%-3,-5%3);}
以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。#include<string.h>v
以下程序的功能是计算:s=1+12+123+1234+12345。请填空。main(){intt=0,s=0,i;for(i=1;i<=5;i++){t=i+【】;s=s+t;}printf(
以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。 main() /* Beginning */ {int r;float s; scanf("%d",&r); s=*I*r*r; printf(
随机试题
病区护理管理的内涵包括
下列各选项中对重型圆锥动力触探的试验要的描述正确的有()。
产出量的增加比例小于投入量的增加比例,这种情况被称为()。
实物出资是指出资人以()等固定资产和原材料、产成品等流动资产进行出资的方式。
限制证券账户交易的措施包括( )。
下列有关票据伪造的表述中,符合票据法律制度规定的有()。
简述班集体的基本特征。
作者:写作:版权
中国武术协会
将表A的记录添加到表B中,要求保持表B中原有的记录,可以使用的查询是()。
最新回复
(
0
)