c語言二分法程式如下,結果好像沒問題,但提交系統總是說超時!誰能幫著修改一下,謝謝

時間 2021-08-30 10:39:51

1樓:淦海瑤

我看了一下,好像你的演算法思路不怎麼對,我把排序和二分法查詢給出for(j=0;j<=n-2;j++)

for(i=j+1;i<=n-2;i++)} //排序結束 其實排序很多種方法,我喜歡這種l=n-1;//l代表末標,s代表首標

s=0;

if(ma[l])

printf("不在這個區間\n1");

else

>a[mid]) //在後面一半中s=mid;

else // 在前面一半中l=mid; }}

2樓:汪好帥

其中這條語句for(j=1;;j++)引導的問題。整體除錯一遍,如果能找的m,輸出的是應該是對的。找到相應的下標及,第幾步找到。

但是如果查詢不到數m,這條語句變成一條死迴圈又跳不出,所以考慮的方法,還是加上一個迴圈條件 for(j=1;j

3樓:手機使用者

scanf("%lf",&x); double型輸入用"%lf"就ok

c語言在區間[0,1]內用二分法求方程e^x+10x-2=0的近似根,誤差不超過0.5*10^(-3),幫忙看一下錯誤怎麼改?

4樓:匿名使用者

首先抄,你的手寫格式和編襲程語言格式是不一致的bai。然後

du,你使用的自zhi然對數底數e,也沒有定義。其dao他的都是小問題。

#include

#include

#include

#define e 2.7182828//定義自然對數底數的值float getvalue(float x)int main()

printf("%0.3f\n",c);

return 0;

}我這邊算出來的結果是0.091。

5樓:老衲欠扁

1 #include

2 #include

3 #include

4 #include

5 #define e (2.71818)6 float getvalue(float x)7 10 int main()

11 23 printf("%0.3f\n",c);

24 return 0;

25 }

(gcc 需要-lm連結庫)

6樓:我透明_的

e未定義 需要定義e

7樓:匿名使用者

#define e 2.71828

float getvalue(float x)for(i = 1; i <= x; i++)return temp+10x-2;

}while(fabs(getvalue(c))>0.5*10^(-3) && fabs(a-b)>0.5*10^(-3))改為

while(fabs(getvalue(c))>0.0005 && fabs(a-b)>0.0005)

8樓:為夢而戰

e定義了沒,還有e^x+10*x-2

c語言誰會使用二分法法,查詢從鍵盤輸入的任意數,是否在下面的資料序列中。1 3 5

include using namespace std int num 7 已經排序 a low a high 區間內二分查詢關鍵字為 key 的元素 low 和 high 的初始值分別對應0 n 1int binsch int a,int low,int high,int key else ret...

二分法檢索如何進行,EXCEL如何進行二分法查詢

二分法檢索要求線性表結點按關鍵碼值排序且以順序方式儲存。在查詢時,首先與表的中間位置上結點的關鍵值比較,若相等則檢索成功 否則根據比較結果確定下一步在表的前半部或後半部中繼續進行。二分法檢索的效率較高,設線性表有n個元素,則最多的檢索次數為大於log2 n 的最小整數,最少的檢索次數為1。二分法檢索...

用二分法求方程式X3 X 1 0在區間

include include include define eps 1e 6 define delta 1e 6 int main 以上是main的範疇 float bisection float a,float b,float f float else if b a eps break cout...