1,42,55,78,86,45,33這是陣列
需要隨便輸入一個數字 假如有這個數字會顯示有 沒有這個數字會顯示沒有
2006-07-11 08:59:10 · 3 個解答 · 發問者 阿猴 2 in 電腦與網際網路 ➔ 程式設計
有人可以給C++的嗎?
2006-07-11 09:58:13 · update #1
C++的程式執行結果假如輸入是42
42
1,33,42,45,55,78,86
2006-07-13 06:08:36 · update #2
可以再加上它總共搜尋幾次嗎
2006-07-13 07:57:30 · update #3
我才剛學不到一個禮拜 抱歉 因為轉學 忽然轉到人家已經學到一半的課程 所以都聽不懂
另外"請按任意鍵繼續"我問老師 老師說也不知道為什麼會有那個 因為那一句話 在程式裡面並沒有這個字串 而且 我們寫其他程式 請按任意鍵繼續這句話都是英文 是因為使用的C++程式版本不同嗎?
2006-07-14 02:45:24 · update #4
#include
2006-07-13 18:03:35 補充:
int count,tmp,i,j;改為int count,tmp,i,j,search=0;在m = (left+right)/2;的上面一行加入search++;在printf那行下面一行加入printf("搜尋了%d次",search);
2006-07-13 18:05:46 補充:
不需要輸出陣列值的話刪除for(i=0;i
2006-07-14 13:33:32 補充:
我是用DevC++這個軟體寫的,不然你把system("pause");這行刪除試試
2006-07-11 17:18:53 · answer #1 · answered by ? 6 · 0⤊ 0⤋
〝已排序完成的資料〞!
您的程式應該有 sort 的功能,而不是人工 sort 原始資料。
2006-07-11 11:02:16 · answer #2 · answered by ? 7 · 0⤊ 0⤋
import java.util.Scanner;//二元搜尋法/*二元搜尋用於已排序完成的資料,目地是決定某一元素是否出現在向量中, * 如果找到,便傳回"有"。如果找不到,傳回"沒有" 。在程序中, * 經過不斷檢查某一範圍的中間值,我們持續將可能包含標的值的範圍減半, * 上述步驟一直進行,直到範圍縮減側一個元素為止。最後在檢查值是否正 * 確,如果不是我們要的值,便傳回 "沒有"。 */public class Search { public static void main(String[] args) { int number[]={1,33,42,45,55,78,86}; Scanner inp=new Scanner(System.in); System.out.print("請輸入要搜尋的數字:"); int searchnumber=Integer.parseInt(inp.next()); Search s=new Search(); String findnumber=s.compare(number,number.length,searchnumber); System.out.println("findnumber="+findnumber); } String compare(int number[],int high,int scarchnumber){ //二元搜尋法 int low=0; while(low
2006-07-11 09:16:58
·
answer #3
·
answered by anye 5
·
0⤊
0⤋