c語言實驗報告、折半查找數(shù)

c語言實驗報告、折半查找數(shù)

ID:5723807

大?。?02.50 KB

頁數(shù):6頁

時間:2017-12-23

c語言實驗報告、折半查找數(shù)_第1頁
c語言實驗報告、折半查找數(shù)_第2頁
c語言實驗報告、折半查找數(shù)_第3頁
c語言實驗報告、折半查找數(shù)_第4頁
c語言實驗報告、折半查找數(shù)_第5頁
資源描述:

《c語言實驗報告、折半查找數(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、C語言程序設(shè)計實驗報告實驗名稱數(shù)組學(xué)院材料與冶金學(xué)院專業(yè)班級新能源科學(xué)與工程姓名汪爽學(xué)號20110558任課教師柳秀梅實驗時間2012年10月13日1實驗?zāi)康?.熟練掌握一維數(shù)組、二維數(shù)組的定義、初始化和輸入/輸出方法;2.熟練掌握字符數(shù)組和字符串函數(shù)的使用;3.掌握與數(shù)組有關(guān)的常用算法(如查找、排序)。2實驗內(nèi)容編程實現(xiàn)“折半查找”的過程。要求1.設(shè)定一個整型數(shù)組存放20個元素,采用直接賦值的方法在程序之初始化該數(shù)組;2.用scanf函數(shù)輸入一個要找的數(shù)值;3.對查找的結(jié)果給出相應(yīng)的說明,如果找到該數(shù)值,則輸出“Found”信息,并給出該數(shù)是數(shù)組中的第

2、幾個元素。如果該數(shù)值不在數(shù)組中,則輸出“Notfound”信息;4.修改程序,設(shè)定輸入的數(shù)據(jù)是無序的,則先要對這些無序的數(shù)據(jù)進(jìn)行排序,然后在采用“半折查找”。3算法描述流程圖YYYYY開始a[20]={2,1,4,5,7,3,6,9,10,8,14,15,12,19,20,17,18,11,13,16},b,q,d,i,,min=0n,m,p=10,c,s=10最大數(shù)和最小數(shù)的序數(shù)max=19n<=19?i<=19?a[n]>a[i]?將最小的數(shù)賦給a[n]q>9?b是要找的數(shù)嗎b=a[s]?b>a[s]?b在前面c=s;s=(max-min)/2+mi

3、n;max=c;將區(qū)間縮小,取中點b在后面c=s;s=max-(max-min)/2min=c;將區(qū)間小,取中點輸出Found位置num=s+1輸出Notfound結(jié)束Yq=q+14源程序#include#includevoidmain(){inta[20]={2,1,4,5,7,3,6,9,10,8,14,15,12,19,20,17,18,11,13,16},b,q,d,i,max=19,min=0,n,m,p=10,c,s=10;for(n=0;n<=19;n++){for(i=n;i<=19;i++){if(a[

4、n]>a[i]){m=a[n];a[n]=a[i];a[i]=m;}}printf("%d",a[n]);}printf("請輸入要查找的數(shù)");scanf("%d",&b);for(q=1;q<=10;q++){if(max-min!=0){if(b==a[s]){d=1;break;}else{if(b>a[s]){c=s;s=max-(max-min)/2;min=c;d=0;}elsec=s;s=(max-min)/2+min;max=c;d=0;}}}if(d==1){s=s+1;printf("FoundNum=%d",s);}elsep

5、rintf("notfound");}5測試數(shù)據(jù)測試數(shù)據(jù)為5,236運行結(jié)果當(dāng)輸入數(shù)值為3時當(dāng)輸入數(shù)值為87時7出現(xiàn)問題及解決方法1.本實驗需要對數(shù)組排序因此采用循環(huán)for(n=0;n<=19;n++){for(i=n;i<=19;i++){if(a[n]>a[i]){m=a[n];a[n]=a[i];a[i]=m;}}printf("%d",a[n]);}從而將數(shù)組排序,并輸出順序數(shù)組。2.實驗需要半折找數(shù)因此采用循環(huán)for(q=1;q<=10;q++){if(max-min!=0){if(b==a[s]){d=1;break;}else{if(b

6、>a[s]){c=s;s=max-(max-min)/2;min=c;d=0;}elsec=s;s=(max-min)/2+min;max=c;d=0;}}}從而找到數(shù)組中是否有要找的數(shù),是則d=1,不是則d=0.8實驗心得1.通過實驗我對c語言的編程語言更加熟悉,加快編程輸入語言的速度。2.掌握一維數(shù)組、二維數(shù)組的定義、初始化和輸入/輸出方法;掌握字符數(shù)組和字符串函數(shù)的使用;掌握與數(shù)組有關(guān)的常用算法(如查找、排序)。3.再次讓我明白做實驗時要細(xì)心,認(rèn)真檢查。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。