c语言求平方根计算任意两个数的平方根编程代码

C语言 迭代法求一个数的平方根
C语言 迭代法求一个数的平方根 10
用迭代法求 。求平方根的迭代公式为:Xn+1=(Xn+a/Xn)/2& 要求前后两次求出的得差的绝对值少于0.00001。
#include&stdio.h&#include&math.h& void main(){&&&& float x0,x1,a;&&&&& scanf("%f",&a);&&&& x1=a/2; &&& do{&&& x0=x1;x1=(x0+a/x0)/2;&&&
}&&& while(fabs(x0-x1)&=0.00001);&&&
&&&&&printf("%.3f",x1);
这个程序中为什么把x1的初值赋值为a/2
还有什么别的方法能编写出这个问题 请提供
因为上面的算法使用的是函数f(x)=x^2-c,求根;
所以要想使牛顿迭代的序列收敛于c,则,必须满足f(x0)=x0^2-c&0;
所以一般情况下,取x0大于等于根号c都可以。
这个是逼近理论的内容了。具体证明你查资料吧。
求根好的算法很多的·给你一个快速算法:
#include&stdio.h&#include&math.h& float SquareRootFloat(float number) {&&&&&& float x,&&& const float f = 1.5F;&&&& x = number * 0.5F;&&& y& =&&& i& = * ( long * ) &y;&&& i& = 0x5f3759df - ( i && 1 );&&& y& = * ( float * ) &i;&&& y& = y * ( f - ( x * y * y ) );&&& y& = y * ( f - ( x * y * y ) );&&& return number *}
void main(){&&&& float x0,x1,a;&&&&& scanf("%f",&a);&&&& printf("%.8f",SquareRootFloat(a));
的感言:谢谢 相关知识
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号C语言的编程题,要求从键盘输入两个整数,输出它们的平方差,怎么做?
C语言的编程题,要求从键盘输入两个整数,输出它们的平方差,怎么做?
不区分大小写匿名
#include &stdio.h&#include &stdlib.h&int main(){ int a,b; scanf("%d %d",&a,&b); printf("%d\n",a*a-b*b); system("PAUSE"); return 0;}
main()
{int a,b,c;
scanf(&d%d%&,a,b);
if(a&=b)
{c=a*a-b*b}
else
{c=b*b-a*a}
printf(&d%&,c)
}
应该是这样,如果使用文件包含命令
#include &math.h&可以更简单,不过我忘了取绝对值和平方的方法了,
include&stdio.h&
main()
{

int a,b,c;

scanf(&%d%d&,&a,&b);

c=a*a-b*b;

printf(&%d&,c);

//c为a,b平方差。
}
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号c语言问题:任意输入两个数,求两数的平方之和?_百度知道
c语言问题:任意输入两个数,求两数的平方之和?
提问者采纳
scanf(&%d&quot:&}如果是浮点数的话,&b),&a),输入的时候; scanf(&):%d&请输入第二个数的值;平方和为;.h&gt,b; printf(&quot,输入类型改成浮点类型;请输入第一个数的值,把a;void main(){;);
printf(&quot:&; printf(&quot,b定义成浮点类型;%d&quot,a*a+b*b),就可以了#include&lt
提问者评价
谢谢。会了。
其他类似问题
为您推荐:
c语言的相关知识
其他2条回答
%d\;;%d%d&quot,&b);n&quot,a*a+b*b),b,&a.h&
return 0;int main(){
printf(&quot#include &lt
#include&stdio.h&void main(){ int a,b;
printf(&请输入2个数:&); scanf(&%d%d&,&a,&b); a=a*a+b*b; printf(&两个数的平方和:%d\n&,a);}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言平方根函数 的文章

 

随机推荐