亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神,哪里錯了?

#include<stdio.h>

#include<math.h>

float sqrt1(float a)

{

float x0, x1;

x0=a/2; //給x0賦初值a/2?

do

{

x1=(x0+a/x0)/2;

x0=x1; //迭代求平方根

}while(fabs(x0-x1)>10e-6);

return x1; ?

}

int main()

{

float a;

printf ("Please enter a:\n");

scanf ("%f", &a);

if (a>0)

{

printf ("自定義函數求解:%f\n", sqrt1(a));

printf ("庫函數求解:%f\n", sqrt(a));

}?

return 0;?

}

輸入100為什么輸出前一個是20多,后一個是10

但假如我把x0=a/2 下面加上迭代公式,再將do while里的復合語句顛倒就輸出正確了

可是我感覺這么改并沒有什么區別啊?求大神。

正在回答

1 回答

在x0=x1后x0-x1=0就直接出循環了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求大神,哪里錯了?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號