欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      材料科學(xué)基礎(chǔ)實(shí)驗(yàn)報(bào)告三(5篇模版)

      時(shí)間:2020-11-26 12:43:26下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《材料科學(xué)基礎(chǔ)實(shí)驗(yàn)報(bào)告三》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《材料科學(xué)基礎(chǔ)實(shí)驗(yàn)報(bào)告三》。

      第一篇:材料科學(xué)基礎(chǔ)實(shí)驗(yàn)報(bào)告三

      實(shí)驗(yàn)三

      鐵碳合金平衡組織的顯微觀察與分析 課程名稱:

      實(shí)驗(yàn)題目:

      一、實(shí)驗(yàn)?zāi)康模?/span>

      二、實(shí)驗(yàn)儀器及材料:

      三、實(shí)驗(yàn)內(nèi)容:

      四.實(shí)驗(yàn)結(jié)果及分析:

      四.實(shí)驗(yàn)結(jié)果及分析

      第二篇:科學(xué)實(shí)驗(yàn)報(bào)告

      凸透鏡成像規(guī)律實(shí)驗(yàn)報(bào)告

      提出問題:凸透鏡成像的規(guī)律是什么

      所需器材:蠟燭、光具座和光屏

      猜想與假設(shè):凸透鏡成像的規(guī)律分為實(shí)像與虛像

      步驟:把可發(fā)光物放在距凸透鏡比較遠(yuǎn)的地方,然后逐漸移近,觀察成像的情況.物距大到什么程度成實(shí)像,小到什么時(shí)候成虛像,大概不同的凸透鏡會(huì)有不同,要有一個(gè)參照距離才便于研究.實(shí)驗(yàn)原理 在物理上 凹鏡和凸鏡都是利用光的折射的原理成像

      現(xiàn)象:物距(u)像距(v)像的性質(zhì)倒正 大小 虛實(shí)

      u>2f f

      u=2f v=2f 倒 等 實(shí) ——

      f2f 倒 大 實(shí)

      u=f —— —— —— —— ——

      u

      結(jié)論:

      1、一焦分虛實(shí),二焦分大小

      (一倍焦距以內(nèi)是虛象,一倍以外是實(shí)象,不包括一倍焦距)

      2、虛象同側(cè)正,實(shí)象異側(cè)倒

      (虛象在同一側(cè),是正立的象,實(shí)象在異側(cè),是倒立的)

      3、物小象變大,物大象變小

      (物距變小,象變大,物距變大,象變?。?/p>

      評估:上網(wǎng)驗(yàn)證,結(jié)論正確

      應(yīng)用:u>2f f

      u=2f v=2f 倒 等 實(shí) ——

      f2f 倒 大 實(shí) 幻燈機(jī)

      u=f —— —— —— —— ——

      u

      伏安法測電阻實(shí)驗(yàn)報(bào)告

      1.伏安法測電阻實(shí)驗(yàn)器材:電源、開關(guān)、可調(diào)電阻、電壓表、電流表 各一個(gè),連接導(dǎo)線若

      干。以及被測電阻。2.實(shí)驗(yàn)步驟:

      ①電路連接:電壓表并聯(lián)在被測的電阻兩端。然后所有的器件都串聯(lián)后接在電源上。②.閉合開關(guān)。

      ③記錄電壓表讀數(shù) U1,電流表讀數(shù) I1,調(diào)節(jié)可變電阻。在記錄U2 I2,再調(diào)節(jié)可變電阻。再記錄 U3 I3

      ④多次測量,取平均值,算出電阻

      3.實(shí)驗(yàn)總結(jié)

      洋蔥內(nèi)表皮實(shí)驗(yàn)報(bào)告(1)在載玻片上_滴一滴清水。

      (2)用小刀切一塊0.25平方厘米鱗片,用鑷子撕下一層洋蔥表皮。

      (3)放在載玻片的清水中,并用鑷子展平。

      (4)蓋上蓋玻片不留氣泡,并用紅墨水或碘酒進(jìn)行染色。

      (5)觀察:若視野中有黑圈說明有氣泡,細(xì)胞重疊很多說明所撕的表皮太厚,需將裝片重做,觀察時(shí)兩眼同時(shí)張開。繪生物圖時(shí),標(biāo)線要與底邊平行,明暗亮度用小點(diǎn)的濃密表示。

      下表皮附近的葉肉內(nèi)的葉綠體的數(shù)量比較少,可以透過較多的光線。

      顯微鏡操作實(shí)驗(yàn)報(bào)告

      1. 調(diào)節(jié)亮度:由暗調(diào)亮,可以用大光圈,凹面鏡,調(diào)節(jié)反光鏡的角度。

      2. 將臨時(shí)裝片在載物臺上適當(dāng)位置固定好。

      3. 低倍物鏡對準(zhǔn)通光孔,使用粗準(zhǔn)焦螺旋將鏡筒自上而下的調(diào)節(jié),眼睛在側(cè)面觀察,避免物鏡鏡頭接觸到玻片而損壞鏡頭和壓破玻片。

      4. 左眼通過目鏡觀察視野的變化,同時(shí)調(diào)節(jié)粗準(zhǔn)焦螺旋,使鏡筒緩慢上移,直至視野清晰為止。

      5. 如果在視野中沒有被觀察對象,可以移動(dòng)裝片,原則為欲上反下,欲左反右。

      6. 如果不夠清晰,可以用細(xì)準(zhǔn)焦螺旋進(jìn)一步調(diào)節(jié)。

      7. 如果需要在高倍物鏡下觀察,可以轉(zhuǎn)動(dòng)轉(zhuǎn)換器調(diào)換物鏡。如果視野較暗,可通過1的方法調(diào)節(jié);如果不夠清晰,可通過6的方法調(diào)節(jié),但是不可以用4的方法。

      8. 使用完畢后,請調(diào)節(jié)轉(zhuǎn)換器,使空鏡頭孔對著通光孔,將鏡筒調(diào)至最低后裝入鏡箱。;

      第三篇:科學(xué)實(shí)驗(yàn)報(bào)告

      實(shí)驗(yàn)課題:觀察月相

      實(shí)驗(yàn)?zāi)康模和ㄟ^對月相的觀察,使學(xué)生了解月相變化的規(guī)律,養(yǎng)成長期觀察的習(xí)慣。

      實(shí)驗(yàn)器材:黃色彩紙(每組十五張)、剪刀(每組一個(gè))

      實(shí)驗(yàn)原理:月球在圓缺變化過程中會(huì)出現(xiàn)各種不同的形狀。

      實(shí)驗(yàn)步驟:

      1.對月亮在一個(gè)月內(nèi)的變化進(jìn)行觀察并記錄

      2.根據(jù)記錄用剪刀剪出不同時(shí)間月相的樣子

      3.制作月相規(guī)律圖

      實(shí)驗(yàn)現(xiàn)象:一個(gè)月中月相的變化規(guī)律是:初二向左彎,初八右半邊明亮,十五月圓,二十二左半邊明亮,二十八向右彎。經(jīng)歷:新月上弦月圓月下弦月殘?jiān)碌倪^程。

      實(shí)驗(yàn)結(jié)果:月相的變化有一定的規(guī)律性。

      實(shí)驗(yàn)課題:“環(huán)形山”成因模擬實(shí)驗(yàn)

      實(shí)驗(yàn)?zāi)康模和ㄟ^模擬試驗(yàn),對“環(huán)形山”的成因進(jìn)行猜測,養(yǎng)成學(xué)生科學(xué)的思考問題的習(xí)慣

      實(shí)驗(yàn)器材:沙子(每組若干)、注射器、膠管(每組一套)、重球(每組一個(gè))、學(xué)生自己準(zhǔn)備的用具

      實(shí)驗(yàn)原理:環(huán)形山是流星、隕石撞擊月球后留下來的。

      實(shí)驗(yàn)步驟:

      1.將注射器連接膠管并把膠管插入沙子底部

      2.用力將注射器中的水推出,觀察現(xiàn)象

      3.用重球砸向沙堆,觀察現(xiàn)象并記錄

      實(shí)驗(yàn)現(xiàn)象:注射器中的水會(huì)穿出沙堆,形成火山狀;重球砸向沙堆,沙堆會(huì)出現(xiàn)類似環(huán)形山的凹坑。

      實(shí)驗(yàn)結(jié)果:沙堆會(huì)出現(xiàn)類似環(huán)形山的凹坑。

      實(shí)驗(yàn)課題:放大鏡下的發(fā)現(xiàn)

      實(shí)驗(yàn)?zāi)康模褐婪糯箸R的使用方法及其作用。

      實(shí)驗(yàn)器材:放大鏡、報(bào)紙、書本、樹葉

      實(shí)驗(yàn)原理:放大鏡能把物體的像放大。

      實(shí)驗(yàn)步驟:

      1、用放大鏡觀察樹葉,把看到的記錄下來。

      2、用放大鏡觀察報(bào)紙、書本,把看到的記錄下來。

      實(shí)驗(yàn)現(xiàn)象:在放大鏡下觀察到的物體比用肉眼看到的物體更大。

      實(shí)驗(yàn)結(jié)果:放大鏡可以把物體的像放大。

      實(shí)驗(yàn)課題:放大鏡的放大倍數(shù)

      實(shí)驗(yàn)?zāi)康模褐婪糯箸R把物體放大了多少倍。

      實(shí)驗(yàn)器材:不同放大倍數(shù)的放大鏡、布、紙、郵票

      實(shí)驗(yàn)原理:通過觀察、記錄和測量,可以算出放大鏡的放大倍數(shù)。

      實(shí)驗(yàn)步驟:

      1、把放大鏡放在有格的紙上或放在書上,看看它能把物體放大多少倍。

      2、用放大鏡觀察布、郵票的某部分,并把觀察到的內(nèi)容記錄下來,看看它能把物體放大多少倍。

      實(shí)驗(yàn)現(xiàn)象:同一放大鏡的最大放大倍數(shù)是一定的。

      實(shí)驗(yàn)結(jié)果:通過觀察、測量和計(jì)算,算出了不同放大鏡的放大倍數(shù)。

      實(shí)驗(yàn)課題:用放大鏡觀察晶體

      實(shí)驗(yàn)?zāi)康模毫私獍滋?、食鹽等晶體的形狀如何

      實(shí)驗(yàn)器材:白糖、食鹽、堿面、味精、玻璃片、放大鏡

      實(shí)驗(yàn)原理:在放大鏡下能更清晰地看到晶體的形狀。

      實(shí)驗(yàn)步驟:

      1、用放大鏡觀察白糖,把看到的內(nèi)容記錄下來。

      2、用放大鏡觀察堿面、味精,并把看到的內(nèi)容記錄下來。

      3、制作一些較濃的溶液,滴在玻璃片上,待水分自然蒸發(fā)后,用放大鏡觀察它們留下的痕跡,看看又是什么樣的。

      實(shí)驗(yàn)現(xiàn)象:在放大鏡下看到的晶體的形狀很有規(guī)則,有的像雪花,有的是立方體,有的像金字塔。

      實(shí)驗(yàn)結(jié)果:每種晶體的形狀都很規(guī)則。

      實(shí)驗(yàn)課題:自制顯微鏡

      實(shí)驗(yàn)?zāi)康模毫私夂喴罪@微鏡的制作方法

      實(shí)驗(yàn)器材:放大鏡、掛歷紙、剪刀、膠水

      實(shí)驗(yàn)原理:一個(gè)放大鏡能把另一個(gè)放大鏡所成的像進(jìn)一步放大,這樣明顯提高了放大能力。

      實(shí)驗(yàn)步驟:

      1、上下移動(dòng)調(diào)整兩個(gè)放大鏡之間的距離,直到劃到物體最清楚的圖像。

      2、用掛歷紙卷成紙筒。

      3、用紙筒和膠帶紙把兩個(gè)放大鏡固定下來。

      4、試一試:做成后的顯微鏡是否能把物體的圖像放得更大了。

      實(shí)驗(yàn)現(xiàn)象:自制顯微鏡能把物體的圖像放得更大。

      實(shí)驗(yàn)結(jié)果:自制顯微鏡的放大倍數(shù)明顯增加了。

      第四篇:科教版五年級科學(xué)下冊實(shí)驗(yàn)報(bào)告(三)

      教科版五年級科學(xué)下冊實(shí)驗(yàn)報(bào)告

      (三)第三單元 時(shí)間的測量

      實(shí)驗(yàn)名稱:

      用光影來計(jì)時(shí)

      實(shí)驗(yàn)器材:

      陽光、細(xì)木棒、尺、指南針

      實(shí)驗(yàn)步驟:

      1、將一根細(xì)木棒豎直插在有陽光的地上。

      2、測量記錄細(xì)木棒的長度和方向。

      3、每隔一定的時(shí)間重復(fù)測量一次。

      現(xiàn)象和結(jié)論:

      上午,陽光下的物體影子會(huì)越來越短,正午達(dá)到最短,下午物體影子又會(huì)逐漸變長。一天中陽光下的物體影子方向從西逐漸向北再向東。陽光下物體的影子、方向隨著時(shí)間的變化會(huì)慢慢地發(fā)生變化。實(shí)驗(yàn)名稱:

      滴漏實(shí)驗(yàn)

      實(shí)驗(yàn)器材:

      蓋上有小孔的飲料瓶、量筒、鐵架臺、計(jì)時(shí)器

      實(shí)驗(yàn)步驟:

      1、把一個(gè)透明塑料飲料瓶去掉底部,倒過來盛水,在瓶蓋上扎一個(gè)小孔,讓水可以從小孔中緩慢流出。

      2、在瓶子里裝300毫升的水,下面用量筒接住從瓶子中漏出的水。

      3、觀察記錄從瓶中漏出100毫升的水需要的時(shí)間,重復(fù)兩次。

      4、觀察記錄量筒的水積聚到10毫升和50毫升時(shí),分別需要的時(shí)間。

      5、觀察記錄漏完全部300毫升的水需要的時(shí)間。

      現(xiàn)象和結(jié)論:

      從瓶中漏出100毫升的水需要的時(shí)間基本相同。量筒的水積聚到50毫升的時(shí)間比積聚到10毫升所需的時(shí)間的5倍還要多。漏完300毫升的水的時(shí)間比漏完100毫升水的時(shí)間的3倍還要多。水滴漏的速度是不均勻的,會(huì)越來越慢。

      實(shí)驗(yàn)名稱:

      觀察我們的擺

      實(shí)驗(yàn)器材:

      鐵架臺、線、螺帽、秒表等

      實(shí)驗(yàn)步驟:

      1、利用螺帽和線做一個(gè)擺并固定在鐵架臺上。

      2、讓擺自由擺動(dòng),記錄每隔10秒擺動(dòng)的次數(shù)。

      3、整理記錄有關(guān)數(shù)據(jù),進(jìn)行分析。

      現(xiàn)象和結(jié)論:

      同一個(gè)擺,相同時(shí)間擺動(dòng)的次數(shù)相同。不同的擺,相同時(shí)間擺動(dòng)的次數(shù)不同。

      實(shí)驗(yàn)名稱:

      擺錘重量與擺的快慢的研究

      實(shí)驗(yàn)器材:

      鐵架臺、線、螺帽三個(gè)、秒表

      實(shí)驗(yàn)步驟:

      1、把細(xì)繩固定在掛鉤上,下端掛1個(gè)螺帽,讓擺小幅度自由擺動(dòng)。

      2、測出用1個(gè)螺帽做擺錘的擺在15秒內(nèi)擺動(dòng)的次數(shù),重復(fù)3次。

      3、測出用2個(gè)螺帽做擺錘的擺在15秒內(nèi)擺動(dòng)的次數(shù),重復(fù)3次。

      4、測出用3個(gè)螺帽做擺錘的擺在15秒內(nèi)擺動(dòng)的次數(shù),重復(fù)3次?,F(xiàn)象和結(jié)論:

      擺的快慢和擺錘的重量無關(guān)。

      實(shí)驗(yàn)名稱:

      擺繩的長短與擺的快慢的研究

      實(shí)驗(yàn)器材:

      鐵架臺、線、螺帽、秒表

      實(shí)驗(yàn)步驟:

      1、測出擺繩長是15厘米的擺在15秒內(nèi)擺動(dòng)的次數(shù),重復(fù)3次。

      2、測出擺繩長是30厘米的擺在15秒內(nèi)擺動(dòng)的次數(shù),重復(fù)3次。現(xiàn)象和結(jié)論:

      擺的快慢和擺繩的長度有關(guān),同一個(gè)擺,擺繩越短擺動(dòng)越快。實(shí)驗(yàn)名稱:

      金屬圓片對擺的快慢的影響

      實(shí)驗(yàn)器材:

      鐵架臺、線、木條、金屬圓片、圖釘、秒表

      實(shí)驗(yàn)步驟:

      1、用長木條做一個(gè)擺,然后測出15秒內(nèi)擺動(dòng)的次數(shù),重復(fù)3次。

      2、在長木條的最下端固定一塊金屬圓片,然后測出固定住金屬圓片的擺15秒內(nèi)擺動(dòng)的次數(shù)。

      3、在長木條的中段固定一塊金屬圓片,然后測出固定住金屬圓片的擺15秒內(nèi)擺動(dòng)的次數(shù)。

      4、在長木條的最上端固定一塊金屬圓片,然后測出固定住金屬圓片的擺15秒內(nèi)擺動(dòng)的次數(shù)。

      現(xiàn)象和結(jié)論:

      加金屬圓片會(huì)影響擺擺動(dòng)的速度。金屬圓片在最下端時(shí)擺擺動(dòng)的速度最慢。

      第五篇:軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)報(bào)告

      《軟件開發(fā)技術(shù)基礎(chǔ)》

      實(shí)驗(yàn)報(bào)告

      學(xué)院:XX學(xué)院

      班級:XX

      姓名: XX

      學(xué)號:XX

      《軟件開發(fā)技術(shù)基礎(chǔ)》實(shí)驗(yàn)報(bào)告

      實(shí)驗(yàn)名稱:實(shí)驗(yàn)一 順序表的操作

      班 級 學(xué) 號 姓 名 第 周 星 期 節(jié) 成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      1、掌握順序表結(jié)構(gòu)的實(shí)現(xiàn)方式;

      2、掌握順序表常用算法的實(shí)現(xiàn);

      3、熟悉利用順序表解決問題的一般思路;

      4、參照給定的順序表的程序樣例,驗(yàn)證給出的順序表的常見算法,領(lǐng)會(huì)順序表結(jié)構(gòu)的優(yōu)點(diǎn)和不足。

      二、實(shí)驗(yàn)要求:

      1、掌握順序表的特點(diǎn)及常見算法。

      2、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      1、設(shè)計(jì)一個(gè)靜態(tài)數(shù)組存儲(chǔ)結(jié)構(gòu)的順序表,要求編程實(shí)現(xiàn)如下任務(wù):

      (1)建立一個(gè)順序表,首先依次輸人整數(shù)數(shù)據(jù)元素(個(gè)數(shù)根據(jù)需要鍵盤給定)。(2)刪除指定位置的數(shù)據(jù)元素(指定元素位置通過鍵盤輸入),再依次顯示刪除后的順序表中的數(shù)據(jù)元素。

      (3)查找指定數(shù)據(jù)的數(shù)據(jù)元素(指定數(shù)據(jù)由鍵盤輸入),若找到則顯示位置,若沒有找到則顯示0。

      2、使用順序表實(shí)現(xiàn)一個(gè)電話本的管理程序,電話本中的每條記錄包括學(xué)號、姓名、手機(jī)號碼和固定電話四項(xiàng)。要求實(shí)現(xiàn)菜單、初始化、添加、刪除和顯示等功能。

      四、程序要求:

      1、采用順序表實(shí)現(xiàn),假設(shè)該順序表的數(shù)據(jù)元素個(gè)數(shù)在最壞情況下不會(huì)超過50個(gè)。

      2、寫出完整的程序并能調(diào)試運(yùn)行。

      五、實(shí)驗(yàn)結(jié)果:

      1、順序表的結(jié)果:

      2、電話簿的結(jié)果:

      六、實(shí)驗(yàn)中遇到的問題及解決方法:

      1.在刪除數(shù)據(jù)的時(shí)候如果有兩個(gè)一樣的數(shù)時(shí)要怎樣解決? 解決方法:用while進(jìn)行判斷。

      2.在刪除操作中,刪除函數(shù)中的l是指針,所以用->指向,而在主函數(shù)中l(wèi)是結(jié)構(gòu)體,用“.”。3.在查找的時(shí)候有一個(gè)返回值,而這個(gè)返回值是指針,所以在寫查找函數(shù)的時(shí)候要把返回值類型寫上。

      七、實(shí)驗(yàn)心得體會(huì):

      一開始不知所措,首先應(yīng)該有一個(gè)大的方向,把主程序編號,再逐步求精,落實(shí)到每一個(gè)函數(shù)的編寫。對于c語言要熟練掌握,要熟悉循環(huán)等得操作,要熟練掌握順序表中的插入,刪除,查找,的基本函數(shù)。在此的基礎(chǔ)上靈活使用。附:

      1、順序表的程序: #include #include #include #include #define MAXSIZE 50

      struct Seqlist {

      };Seqlist *init(){

      } void insert(Seqlist *p){

      int num=0;printf(“請輸入要鍵入的個(gè)數(shù):”);scanf(“%d”,&num);if(num<1)printf(“鍵入的數(shù)據(jù)個(gè)數(shù)錯(cuò)誤!n”);Seqlist *p;p=(Seqlist *)malloc(sizeof(Seqlist));p->length=0;return p;int data[MAXSIZE];int length;else {

      printf(“鍵入數(shù)據(jù)為:n”);for(;num>0;num--){ p->length++;scanf(“%d”,p->data+p->length-1);

      }

      }

      } if(p->length==MAXSIZE){

      } printf(“數(shù)組已滿n”);break;getchar();void deletee(Seqlist *p){

      } int find(Seqlist *p){ int i=0;printf(“請輸入要?jiǎng)h除元素的位置:”);scanf(“%d”,&i);if(i<1||i>p->length)printf(“表中沒有第%d個(gè)元素!n”,i);else {

      } getchar();for(int j=i;j<=p->length-1;j++)p->data[j-1]=p->data[j];p->length--;

      } int x;printf(“請輸入要查找的數(shù)據(jù):”);scanf(“%d”,&x);for(int i=0;i

      length;i++){

      } if(i>=p->length)printf(“數(shù)組中沒有此數(shù)據(jù)!n”);if(p->data[i]==x){

      } printf(“此數(shù)據(jù)位于第%d個(gè)位置n”,i+1);return i+1;getchar();return 0;void display(Seqlist *p){

      } int main(void){ Seqlist *p;for(int i=0;i

      length;i++)printf(“%-5d”,p->data[i]);putchar('n');getchar();

      p=init();char flag;printf(“1-插入 2-刪除 3-查找 4-顯示 0-退出n”);while(1){

      printf(“請輸入操作:”);switch(flag=getchar()){ case '1':insert(p);putchar('n');break;case '2':deletee(p);printf(“刪除后數(shù)據(jù)為:”);display(p);putchar('n');getchar();break;case '3':find(p);putchar('n');getchar();break;case '4':printf(“顯示數(shù)據(jù)為:”);display(p);putchar('n');break;case '0':free(p);return 0;}

      }

      }

      2、電話簿的程序: #include #include #include #include using namespace std;typedef struct contact {

      string name;string phonenumber;string phone;contact *next;}CNT;class Phonebook { public:

      Phonebook();CNT *Input();CNT *Turn_to_end();void Add();void Delete();void Showmenu();CNT *Find();void Show_item(CNT *p);void Display();void Modification();private: };

      Phonebook::Phonebook(){ head=new CNT;CNT *head;

      } head->next=NULL;void Phonebook::Show_item(CNT *p){ cout<<“|----姓名----|--電話號碼--|-------------地址------------|”<name<<'|'<phonenumber<<'|'<phone<<'|'<

      }

      void Phonebook::Display(){

      CNT *p;cout<<“|----姓名----|--電話號碼--|-------------地址------------|”<next;p!=NULL;p=p->next)cout<<'|'<name<<'|'<phonenumber<<'|'<phone<<'|'<

      }

      cout<<“|------------------------|”<

      CNT *Phonebook::Input(){

      }

      CNT *Phonebook::Turn_to_end(){

      } CNT *temp=head;while(temp->next!=NULL){ } cout<<“n”;return temp;temp=temp->next;CNT *temp;temp=new CNT;cout<<“請輸入姓名:”;cin>>temp->name;cout<<“請輸入手機(jī)號碼:”;cin>>temp->phonenumber;cout<<“請輸入固定電話:”;cin>>temp->phone;temp->next=NULL;cout<<“n”;return temp;

      void Phonebook::Add(){

      }

      void Phonebook::Delete(){

      CNT *p,*q;q=p=head;string data;cout<<“請輸入要?jiǎng)h除聯(lián)系人的信息:”;cin>>data;for(p=p->next;p!=NULL&&p->name!=data&&p->phonenumber!=data&&p->phone!=data;CNT *temp,*p;temp=Input();p=Turn_to_end();p->next=temp;cout<<“n”;p=p->next)

      q=p;if(p!=NULL){ q->next=p->next;delete p;

      } } else cout<<“該信息不存在”<

      }

      CNT *Phonebook::Find(){

      CNT *p=head;string data;cout<<“請輸入要查找或要修改的聯(lián)系人的信息:”;cin>>data;for(p=p->next;p!=NULL&&p->name!=data&&p->phonenumber!=data&&p->phone!=data;cout<<“ 電話簿”<next);

      if(p!=NULL)Show_item(p);else

      } cout<<“不存在該信息”<

      }

      int main(){ int select;Phonebook phbook;CNT *p;p=Find();if(p!=NULL){

      } cout<<“n”;cout<<“請輸入姓名:”;cin>>p->name;cout<<“請輸入手機(jī)號碼:”;cin>>p->phonenumber;cout<<“請輸入固定電話:”;cin>>p->phone;

      phbook.Showmenu();while(1){

      cout<<“n請輸入要選擇的操作(0~6):”;cin>>select;getchar();switch(select){ case 0: exit(0);break;case 1: phbook.Add();break;case 2: phbook.Display();break;case 3: phbook.Delete();break;case 4: phbook.Find();break;case 5: phbook.Modification();break;

      } } } return 0;

      實(shí)驗(yàn)名稱:實(shí)驗(yàn)二 鏈表的操作

      (一)班 級 學(xué) 號 姓 名 第 周 星 期

      節(jié) 成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      1、掌握單鏈表結(jié)構(gòu)的實(shí)現(xiàn)方式;

      2、掌握單鏈表常用算法的實(shí)現(xiàn)。

      二、實(shí)驗(yàn)要求:

      1、掌握鏈表的特點(diǎn)及常見算法。

      2、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      1、設(shè)計(jì)一個(gè)鏈表,要求編程實(shí)現(xiàn)如下任務(wù):

      (1)建立一個(gè)鏈表,首先依次輸人整數(shù)數(shù)據(jù)元素(個(gè)數(shù)根據(jù)需要鍵盤給定)。(2)刪除指定值的結(jié)點(diǎn)(指定值通過鍵盤輸入),再依次顯示刪除后的鏈表中的數(shù)據(jù)元素。

      (3)查找指定值的結(jié)點(diǎn)(指定數(shù)據(jù)由鍵盤輸入),若找到則顯示查找成功,若沒有找到則顯示查找失敗。

      (4)在第i個(gè)節(jié)點(diǎn)(i由鍵盤輸入,i=0表示插入的結(jié)點(diǎn)作為第1個(gè)結(jié)點(diǎn))之后插入一個(gè)元素為x的節(jié)點(diǎn)。

      四、程序要求:

      1、采用鏈表實(shí)現(xiàn),假設(shè)該鏈表的結(jié)點(diǎn)數(shù)在最壞情況下不會(huì)超過40個(gè)。

      2、寫出完整的程序并能調(diào)試運(yùn)行。

      五、實(shí)驗(yàn)結(jié)果:

      六、實(shí)驗(yàn)中遇到的問題及解決方法: 問題:在查找數(shù)據(jù)時(shí)顯示的是一樣的?

      解決方法:在查找函數(shù)前要標(biāo)明返回值的類型lnode *find。

      七、實(shí)驗(yàn)心得體會(huì):

      首先要把書上的關(guān)于單鏈表的定義理解,在這個(gè)的基礎(chǔ)上使用它。單鏈表通過結(jié)點(diǎn)在數(shù)據(jù)后附加后繼元素的指針信息,可以更靈活的添加,刪除,查找,插入,元素。要清楚指針的指向。首先要定義一個(gè)頭結(jié)點(diǎn),并且指針域要為空。將各個(gè)操作分別編寫函數(shù),有利于分塊使用而且可以多次使用。附:

      #include int a[50],leng=0;void delet();void chazhao();void main()

      { cout<<“請輸入數(shù)組的個(gè)數(shù)(小于50):”;cin>>leng;cout<<“請輸入數(shù)據(jù):”;for(int i=0;i>a[i];int y;cout<<“n”;do { cout<<“請選擇:1-刪除 2-查找 0 退出”<>y;if(y==1)delet();cout<<“n”;if(y==2)chazhao();cout<<“n”;} void delet(){ cout<<“請輸入刪除的數(shù)的位置: ”;}while(y!=0);int i;cin>>i;if(i>=leng){ cout<<“數(shù)組的的長度小于你刪除的位置”<

      } for(int j=i;j>temp;for(int i=0;i

      {

      if(a[i]==temp){ x=i+1;cout<<“你要查找的數(shù)是數(shù)組的第”<

      } } if(x==0)cout<<“數(shù)組中沒有你要查找的數(shù)”;}

      實(shí)驗(yàn)名稱:實(shí)驗(yàn)三 鏈表的操作

      (二)班 級 學(xué) 號 姓 名 第 周 星 期

      節(jié) 成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      1、熟悉利用線性鏈表解決問題的一般思路;

      2、參照給定的鏈表的程序樣例,驗(yàn)證給出的鏈表的常見算法,了解單鏈表結(jié)構(gòu)的優(yōu)點(diǎn)和不足。

      二、實(shí)驗(yàn)要求:

      1、熟練掌握鏈表的使用,并能運(yùn)用其解決些常規(guī)問題。

      2、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      1、使用鏈表實(shí)現(xiàn)一個(gè)電話本的管理程序,電話本中的每條記錄包括姓名和電話兩項(xiàng)。要求實(shí)現(xiàn)菜單、初始化、添加、刪除和顯示等功能。

      四、程序要求:

      1、采用鏈表實(shí)現(xiàn),假設(shè)該鏈表的結(jié)點(diǎn)數(shù)在最壞情況下不會(huì)超過40個(gè)。

      2、寫出完整的程序并能調(diào)試運(yùn)行。

      五、實(shí)驗(yàn)結(jié)果:

      六、實(shí)驗(yàn)中遇到的問題及解決方法: 1.實(shí)驗(yàn)結(jié)果版面不好看

      解決方法:反復(fù)調(diào)試執(zhí)行,每次都對自己不滿意的地方進(jìn)行一些改正。2.怎樣比較name與s->name?

      解決方法:用string.h中的strcmp函數(shù)。3.在傳遞數(shù)據(jù)時(shí)有問題?

      解決方法:返回的值要注意數(shù)據(jù)類型,是指針還是整數(shù)等。

      七、實(shí)驗(yàn)心得體會(huì):

      在應(yīng)用中可以利用while實(shí)現(xiàn)選擇,并根據(jù)選擇用switch來完成選擇。為了簡化編程,結(jié)點(diǎn)插入操作可僅僅在頭部進(jìn)行。單鏈表的方法使添加操作更加簡便。不需要事先分配結(jié)點(diǎn)空間,而是在需要時(shí)動(dòng)態(tài)的申請,節(jié)省了空間。、附:

      #include #include #include #include typedef struct Student { char stu_number[12];char stu_name[12];char stu_phone[12];struct Student *next;}STU;

      void show_menu(){ puts(“1添加 2刪除 3查找 4插入 5顯示 0退出”);}

      void show_item(STU *p){ printf(“|編號| 學(xué)號 | 姓名 | 電話號碼 |n”);printf(“|1 |%-12s|%-12s|%-12s|n”,p->stu_number,p->stu_name,p->stu_phone);

      }

      STU *init(){ STU *p;p=(STU *)malloc(sizeof(STU));p->next=NULL;return p;}

      void display(STU *head){ int i;STU *p;p=head->next;printf(“|編號| 學(xué)號 | 姓名 | 電話號碼 |n”);for(i=1;p!=NULL;i++,p=p->next){

      printf(“|%-4d|%-12s|%-12s|%-12s|n”,i,p->stu_number,p->stu_name,p->stu_phone);} }

      STU *turn_to_end(STU *head){ STU *p;for(p=head;p->next!=NULL;p=p->next);return p;}

      STU *putin(){ STU *temp;temp=(STU *)malloc(sizeof(STU));printf(“請輸入姓名:”);gets(temp->stu_name);printf(“請輸入學(xué)號:”);gets(temp->stu_number);printf(“請輸入電話號碼:”);gets(temp->stu_phone);temp->next=NULL;return temp;}

      void add(STU *head){ STU *temp,*p;p=head;temp=putin();p=turn_to_end(head);p->next=temp;}

      STU *find(STU *head,int i){ STU *p;if(i<1)

      puts(“輸入錯(cuò)誤”);else {

      for(p=head;p->next!=NULL&&i>0;i--,p=p->next);

      if(i>0)

      {

      puts(“不存在該結(jié)點(diǎn)”);

      return NULL;

      } } return p;} STU *find_stu(STU *head,char *data){ STU *p,*q;q=p=head;for(p=head->next;p!=NULL&&strcmp(p->stu_name,data)!=0&&strcmp(p->stu_number,data)!=0&&strcmp(p->stu_phone,data)!=0;p=p->next)

      q=p;if(p!=NULL)

      return q;else {

      puts(“不存在該信息”);

      return p;} } void delet(STU *head,char *data){ STU *p,*q;p=q=head;q=find_stu(head,data);if(q!=NULL){

      p=q->next;

      q->next=p->next;

      free(p);} } void insert(STU *head,int i)

      { STU *p,*q,*temp;q=p=head;if(i<0)

      puts(“輸入錯(cuò)誤”);else if(i==0){

      temp=putin();

      temp->next=p->next;

      q->next=temp;

      } else if(find(head,i)!=NULL){

      q=find(head,i);

      p=q->next;

      temp=putin();

      q->next=temp;

      temp->next=p;} else

      return;}

      int main(void){ STU *head,*temp;int selct,node;char data[12];head=init();show_menu();while(1){

      printf(“請選擇操作:”);

      scanf(“%d”,&selct);

      getchar();

      switch(selct)

      {

      case 1:

      add(head);

      putchar('n');

      break;

      case 2:

      display(head);

      printf(“請輸入要?jiǎng)h除學(xué)生的學(xué)號、姓名或電話號碼:”);

      }

      scanf(“%s”,data);

      getchar();

      delet(head,data);

      display(head);

      putchar('n');

      break;case 3:

      puts(“請輸入要查找的數(shù)據(jù)”);

      scanf(“%s”,data);

      getchar();

      if(temp=find_stu(head,data))

      {

      show_item(temp->next);

      }

      else

      puts(“ 不存在該信息”);

      putchar('n');

      break;case 4:

      puts(“請輸入要插入結(jié)點(diǎn)的位置”);

      scanf(“%d”,&node);

      getchar();

      insert(head,node);

      putchar('n');

      break;case 5:

      display(head);

      putchar('n');

      break;case 0:

      exit(0);

      break;} } return 0;

      實(shí)驗(yàn)名稱:實(shí)驗(yàn)四 棧的操作

      班 級 學(xué) 號 姓 名 第 周 星 期 節(jié)

      成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      掌握棧的的定義和運(yùn)算,了解棧的應(yīng)用。

      二、實(shí)驗(yàn)要求:

      1、掌握棧的特點(diǎn)及常見算法。

      2、參照給定的棧的程序樣例,驗(yàn)證給出的棧的常見算法。

      3、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      1、堆棧的測試和應(yīng)用。要求:

      設(shè)計(jì)一個(gè)主函數(shù)實(shí)現(xiàn)對順序堆棧代碼進(jìn)行測試。測試方法為:依次把數(shù)據(jù)元素1,3,5,7,9入棧,然后出棧堆棧中的數(shù)據(jù)元素并在屏幕上顯示。

      四、程序要求:

      1、棧的長度自行確定。

      2、重點(diǎn)理解棧的算法思想,能夠根據(jù)實(shí)際情況選擇合適的存儲(chǔ)結(jié)構(gòu)。

      3、寫出完整的程序并能調(diào)試通過。

      五、實(shí)驗(yàn)結(jié)果:

      六、實(shí)驗(yàn)中遇到的問題及解決方法:

      七、實(shí)驗(yàn)心得體會(huì):

      棧是后進(jìn)先出表,只允許在棧頂進(jìn)行插入和刪除。要掌握順序棧初始化,出棧,入棧的基本程序,在理解得基礎(chǔ)上加以運(yùn)用。要清楚棧和單鏈表的區(qū)別。附:

      #include #include using namespace std;class Sqstack { private: int *data;int top;int maxsize;public: Sqstack();void push();void pop(int &);void display();void modify();};Sqstack::Sqstack(){ top=-1;maxsize=5;data=new int[maxsize];}

      void Sqstack::push(){ int temp;if(top>=maxsize-1){

      cout<<“堆棧已滿”<

      cout<<“請輸入要進(jìn)棧數(shù)的值”<

      cin>>temp;

      top++;

      *(data+top)=temp;}

      }

      void Sqstack::pop(int &e){ if(top>-1){

      e=*(data+top);

      top--;

      cout<

      cout<<“堆棧已空”;} cout<-1){

      i=top;

      for(;i>=0;i--)

      cout<<*(data+i)<<“ ”;} else

      cout<<“空?!?cout<

      void Sqstack::modify(){ int temp;cout<<“請輸入棧的長度”<>temp;if(temp>0)

      maxsize=temp;else

      cout<<“輸入錯(cuò)誤棧的長度必須>0”<

      int main(){ Sqstack test;int temp,select;cout<<“1.進(jìn)棧 2.出棧 3.顯示 4修改棧長度 0.退出”<

      cout<<“請選擇操作:”;

      cin>>select;

      switch(select)

      {

      case 1:

      test.push();

      break;

      case 2:

      test.pop(temp);

      break;

      case 3:

      test.display();

      break;

      case 4:

      test.modify();

      break;

      case 0:

      exit(0);

      break;

      default:

      cout<<“輸入錯(cuò)誤按任意鍵重新輸入”<

      getch();

      break;

      } } return 0;}

      實(shí)驗(yàn)名稱:實(shí)驗(yàn)五 隊(duì)列的操作

      班 級 學(xué) 號 姓 名 第 周 星 期 節(jié)

      成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      掌握隊(duì)列的定義及其運(yùn)算,了解隊(duì)列的應(yīng)用。

      二、實(shí)驗(yàn)要求:

      1、掌握隊(duì)列的特點(diǎn)及常見算法。

      2、參照給定的隊(duì)列的程序樣例,驗(yàn)證給出的隊(duì)列的常見算法。

      3、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      1、隊(duì)列測試和應(yīng)用。要求:

      設(shè)計(jì)一個(gè)主函數(shù)對循環(huán)隊(duì)列代碼進(jìn)行測試。測試方法為:依次把數(shù)據(jù)元素2,4,6,8,10入隊(duì),然后出隊(duì)中的數(shù)據(jù)元素并在屏幕上顯示。

      四、程序要求:

      1、隊(duì)列的長度由自行確定。

      2、重點(diǎn)理解隊(duì)列的算法思想,能夠根據(jù)實(shí)際情況選擇合適的存儲(chǔ)結(jié)構(gòu)。

      3、寫出完整的程序并能調(diào)試通過。

      五、實(shí)驗(yàn)結(jié)果

      六、實(shí)驗(yàn)中遇到的問題及解決方法:

      七、實(shí)驗(yàn)心得體會(huì):

      隊(duì)列是只允許在一端進(jìn)行刪除操作的線性表。在操作時(shí)會(huì)有假溢出的情況出現(xiàn),可以將存放隊(duì)列元素的數(shù)組守衛(wèi)相接,形成循環(huán)隊(duì)列。即:rear=(rear+1)%m;Front=(front+1)%m 附:

      #include #include using namespace std;

      typedef struct Temp {

      int data;

      struct Temp *next;}T;class Linksqueue { private: T *front,*rear;public: Linksqueue();void Enqueue();void Dequeue(T *);void display();};

      Linksqueue::Linksqueue(){ front=rear=new(T);front->next=NULL;}

      void Linksqueue::Enqueue(){ T *temp;temp=new(T);cout<<“請輸入入隊(duì)元素的值:”<>temp->data;temp->next=NULL;rear->next=temp;rear=temp;}

      void Linksqueue::Dequeue(T *s){ T *temp;if(front->next!=NULL){

      temp=front;

      front=front->next;

      *s=*front;

      cout<<“出隊(duì)元素的值:n”<data<

      delete temp;}

      else

      cout<<“隊(duì)列已空”<

      void Linksqueue::display(){ T *temp;if(front==rear)

      cout<<“空隊(duì)”<

      cout<<“隊(duì)列所有元素為 front-> ”;

      for(temp=front->next;temp->next!=NULL;temp=temp->next)

      {

      cout<data<<“t”;

      }

      cout<data;

      cout<<“->rear”<

      int main(){ Linksqueue temp;T * a;a=new(T);int select;cout<<“1入隊(duì) 2出隊(duì) 3顯示 0退出”<

      cout<<“請選擇操作:”;

      cin>>select;

      switch(select)

      {

      case 1:

      temp.Enqueue();

      break;

      case 2:

      temp.Dequeue(a);

      break;

      case 3:

      temp.display();

      break;

      case 0:

      }

      exit(0);

      break;default:

      cout<<“輸入錯(cuò)誤按任意鍵重新輸入”<

      getch();

      break;} } return 0;

      實(shí)驗(yàn)名稱:實(shí)驗(yàn)六 二叉樹的生成與遍歷

      班 級 學(xué) 號 姓 名 第 周 星 期

      節(jié) 成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      1、熟悉二叉樹節(jié)點(diǎn)的定義和生成方式;

      2、熟悉二叉樹鏈?zhǔn)浇Y(jié)構(gòu)的生成方式;

      3、掌握二叉樹遍歷算法的實(shí)現(xiàn)。

      二、實(shí)驗(yàn)要求:

      1、掌握二叉樹的常見算法。

      2、參照給定的二叉樹的程序樣例,驗(yàn)證給出的有關(guān)二叉樹的常見算法,并實(shí)現(xiàn)有關(guān)的操作。

      3、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      1.設(shè)計(jì)實(shí)現(xiàn)二叉樹的建立及遍歷算法,要求:

      (1)編寫創(chuàng)建二叉鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的二叉樹程序并輸出。(2)編寫遞歸實(shí)現(xiàn)二叉樹的先序、中序、后序遍歷算法。

      (3)編寫主函數(shù)測試以上二叉樹的創(chuàng)建和遍歷函數(shù)。2.假設(shè)二叉樹采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)進(jìn)行存儲(chǔ),編寫程序?qū)崿F(xiàn)二叉樹的所有葉子結(jié)點(diǎn)的統(tǒng)計(jì)并輸出統(tǒng)計(jì)個(gè)數(shù)。

      四、實(shí)驗(yàn)結(jié)果:

      五、實(shí)驗(yàn)中遇到的問題及解決方法:

      調(diào)試的時(shí)候顯示沒有錯(cuò)誤但是程序運(yùn)行不出來? 在if語句中的相等要用“==”。要注意??!

      六、實(shí)驗(yàn)心得體會(huì):

      二叉樹的遍歷有先序,中序,后序遍歷。這三種遍歷都是用遞歸的形式實(shí)現(xiàn)的。而二叉樹的插入結(jié)點(diǎn)的算法與許多因素有關(guān),我們要在理解二叉樹結(jié)構(gòu)的基礎(chǔ)上根據(jù)需要來編寫程序。我在實(shí)驗(yàn)中使用的二叉排序樹可以作為靜態(tài)查找表使用也可以作為動(dòng)態(tài)查找表。附:

      #include #include #include #define maxsize 1024 typedef char datatype;typedef struct node { datatype data;struct node *lchild, *rchild;}bitree;bitree *CREATREE()//建立二叉樹函數(shù),函數(shù)返回值指向根節(jié)點(diǎn)指針 { char ch;bitree *Q[maxsize];int front,rear;bitree *root,*s;root=NULL;

      front=1;rear=0;printf(“請輸入二叉樹的各節(jié)點(diǎn),@表示虛節(jié)點(diǎn),#表示節(jié)點(diǎn):n”);scanf(“%c”,&ch);while(ch!='#'){

      putchar(ch);

      s=NULL;

      if(ch!='@')

      {

      s=(bitree *)malloc(sizeof(bitree));s->data=ch;

      s->lchild=NULL;

      s->rchild=NULL;

      }

      rear++;

      Q[rear]=s;

      if(rear==1)root=s;

      else

      {if(s&&Q[front])

      if(rear%2==0)

      Q[front]->lchild=s;

      else Q[front]->rchild=s;

      if(rear%2==1)

      front++;

      }scanf(“%c”,&ch);} return root;} void preorder(bitree *p){ if(p!=NULL){

      printf(“%c”,p->data);

      preorder(p->lchild);

      preorder(p->rchild);} return;} void inorder(bitree *p){ if(p!=NULL){

      inorder(p->lchild);

      printf(“%c”,p->data);

      inorder(p->rchild);} return;} void postorder(bitree *p){ if(p!=NULL){

      postorder(p->lchild);

      postorder(p->rchild);

      printf(“%c”,p->data);} return;} int yzjd(bitree *t){ if(t==NULL)return(0);if(t->lchild==NULL&&t->rchild==NULL)return(1);

      return(yzjd(t->lchild)+yzjd(t->rchild));} void main(){ bitree *root;root=CREATREE();

      printf(“n先序遍歷結(jié)果如下:n”);preorder(root);printf(“n中序遍歷結(jié)果如下:n”);inorder(root);printf(“n后序遍歷結(jié)果如下:n”);postorder(root);printf(“n葉子節(jié)點(diǎn)的個(gè)數(shù)為:%dn”,yzjd(root));

      printf(“n”);} 實(shí)驗(yàn)名稱:實(shí)驗(yàn)七 查找算法實(shí)現(xiàn)

      班 級 學(xué) 號 姓 名 第 周 星 期

      節(jié) 成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      掌握各種查找算法的特點(diǎn),測試并驗(yàn)證查找常見算法。

      二、實(shí)驗(yàn)要求:

      1、參照各種查找算法程序樣例,驗(yàn)證給出的查找常見算法。

      2、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      1.建立有序表,采用折半查找實(shí)現(xiàn)某一已知的關(guān)鍵字的查找。

      2.利用折半查找算法在一個(gè)有序表中插入一個(gè)元素,并保持表的有序性。

      四、實(shí)驗(yàn)結(jié)果:

      五、實(shí)驗(yàn)中遇到的問題及解決方法:

      六、實(shí)驗(yàn)心得體會(huì):

      本實(shí)驗(yàn)使用的是折半法查找,優(yōu)點(diǎn)是查找效率高,在編程的時(shí)候要設(shè)置low,high,mid,分別表示區(qū)間和中間位置的值。

      附:

      #include #include #include #include #define MAXSIZE 100 struct Seqlist {

      };

      Seqlist * init()int data[MAXSIZE];int length;

      {

      }

      void insert(Seqlist *p){

      int num=0;printf(“請輸入要鍵入的個(gè)數(shù):n”);if(num<1){

      } int temp;for(int i=1;i

      length;i++)

      for(int j=0;j

      length-i;j++)

      if(p->data[j]>p->data[j+1]){

      } temp=p->data[j];p->data[j]=p->data[j+1];p->data[j+1]=temp;printf(“請輸入數(shù)據(jù):n”);for(;num>0;num--){

      }

      p->length++;scanf(“%d”,p->data+p->length-1);if(p->length==MAXSIZE){

      }

      printf(“數(shù)組已滿n”);break;printf(“輸入個(gè)數(shù)有誤n”);else Seqlist *p;p=(Seqlist *)malloc(sizeof(Seqlist));p->length=0;return p;scanf(“%d”,&num);

      } getchar();int binsearch(Seqlist *p){

      } void display(Seqlist *p){

      }

      int main(void){

      Seqlist *p;char flag;p=init();int i;for(i=0;i

      length;i++)printf(“%-5d”,p->data[i]);putchar('n');getchar();int low,high,mid,key;low=0;high=p->length-1;printf(“請輸入要查找的數(shù)據(jù):n”);scanf(“%d”,&key);getchar();while(low<=high){

      } return 0;mid=(low+high)/2;if(key==p->data[mid]){

      } else if(key

      data[mid])high=mid-1;else low=mid+1;printf(“此數(shù)據(jù)位于第%d位置n”,mid+1);return mid+1;

      } printf(“1-插入 2-折半法查找 3-顯示 0-退出n”);while(1){

      } return 0;printf(“請輸入操作:”);switch(flag=getchar()){ case '1' : insert(p);break;case '2' : binsearch(p);break;case '3' : printf(“所有數(shù)據(jù)為:”);display(p);break;case '0' : free(p);return 0;} 實(shí)驗(yàn)名稱:實(shí)驗(yàn)八 排序綜合實(shí)驗(yàn)

      班 級 學(xué) 號 姓 名 第 周 星 期

      節(jié) 成 績

      一、實(shí)驗(yàn)?zāi)康模?/p>

      參照各種排序算法程序樣例,驗(yàn)證給出的排序常見算法。

      二、實(shí)驗(yàn)要求:

      1、掌握各種排序算法的特點(diǎn),測試并驗(yàn)證排序的常見算法。

      2、提交實(shí)驗(yàn)報(bào)告,報(bào)告內(nèi)容包括:目的、要求、算法描述、程序結(jié)構(gòu)、主要變量說明、程序清單、調(diào)試情況、設(shè)計(jì)技巧、心得體會(huì)。

      三、實(shí)驗(yàn)內(nèi)容:

      輸入一組關(guān)鍵字序列分別實(shí)現(xiàn)下列排序,并將上述幾種排序的算法編寫成菜單,根據(jù)輸入的數(shù)字不同執(zhí)行對應(yīng)的排序算法(任選兩種排序方法實(shí)現(xiàn))。

      1、直接插入排序。

      2、希爾排序。

      3、冒泡排序。

      4、直接選擇排序。

      5、快速排序。

      6、堆排序。

      7、歸并排序。

      8、基數(shù)排序。

      四、實(shí)驗(yàn)結(jié)果:

      五、實(shí)驗(yàn)中遇到的問題及解決方法: 怎樣實(shí)現(xiàn)待排序數(shù)據(jù)長度從鍵盤輸入? 解決方法:設(shè)置一個(gè)n,從鍵盤輸入n的值。

      六、實(shí)驗(yàn)心得體會(huì):

      排序的常用方法有直接插入排序,簡單選擇排序,冒泡排序,快速排序。我在實(shí)驗(yàn)中用了冒泡排序和快速排序,冒泡排序的程序比較簡單容易理解而快速排序則比較復(fù)雜。快速排序要先劃分序列然后建立在劃分基礎(chǔ)上進(jìn)行排序,這個(gè)排序是由遞歸實(shí)現(xiàn)的。但是快速排序的優(yōu)點(diǎn)是排序比較快。附:

      #include #include #include #include #define MAXSIZE 100 struct Seqlist { int data[MAXSIZE];int length;};

      Seqlist * init(){

      Seqlist *p;p=(Seqlist *)malloc(sizeof(Seqlist));p->length=0;return p;} void insert(Seqlist *p){ int num=0;printf(“請輸入要鍵入的個(gè)數(shù):n”);scanf(“%d”,&num);if(num<1)

      printf(“輸入個(gè)數(shù)有誤n”);else{

      printf(“請輸入數(shù)據(jù):n”);

      for(;num>0;num--)

      {

      p->length++;

      scanf(“%d”,p->data+p->length-1);

      if(p->length==MAXSIZE)

      printf(“數(shù)組已滿n”);

      } } getchar();} void bublesort(Seqlist *p){ int temp;for(int i=1;i

      length;i++)

      for(int j=0;j

      length-i;j++)

      if(p->data[j]>p->data[j+1])

      {

      temp=p->data[j];

      p->data[j]=p->data[j+1];

      p->data[j+1]=temp;

      } } void insertsort(Seqlist *p){ int i,j,temp;for(i=1;i

      length;i++){

      temp=p->data[i];

      j=i;

      while(j>0&&temp

      data[j-1])

      {

      p->data[j]=p->data[j-1];

      j--;

      }

      p->data[j]=temp;} } void display(Seqlist *p){ int i;for(i=0;i

      length;i++)

      printf(“%-5d”,p->data[i]);putchar('n');getchar();} int main(void){ Seqlist *p,*q;char flag;p=init();q=(Seqlist *)malloc(sizeof(Seqlist));q->length=0;printf(“1-輸入數(shù)據(jù) 2-直接插入排序 3-冒泡排序 4-顯示 0-退出n”);while(1){

      printf(“請輸入操作:”);

      switch(flag=getchar())

      {

      case '1' : insert(p);break;

      case '2' : *q=*p;insertsort(q);printf(“直接插入排序后的數(shù)據(jù)為:”);display(q);break;

      case '3' : *q=*p;bublesort(q);printf(“冒泡排序后的數(shù)據(jù)為:”);display(q);break;

      case '4' : printf(“原數(shù)據(jù)為:”);display(p);break;

      case '0' : free(p);return 0;

      } } return 0;}

      下載材料科學(xué)基礎(chǔ)實(shí)驗(yàn)報(bào)告三(5篇模版)word格式文檔
      下載材料科學(xué)基礎(chǔ)實(shí)驗(yàn)報(bào)告三(5篇模版).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        基礎(chǔ)會(huì)計(jì)實(shí)驗(yàn)報(bào)告

        一、 實(shí)驗(yàn)?zāi)康?本實(shí)驗(yàn)以模擬企業(yè)的實(shí)際會(huì)計(jì)工作為基礎(chǔ),按照企業(yè)會(huì)計(jì)制度和企業(yè)會(huì)計(jì)準(zhǔn)則的要求,進(jìn)行操作訓(xùn)練,通過手工操作掌握會(huì)計(jì)核算的基本操作程序,以及各種憑證、帳表的填制......

        電工基礎(chǔ)實(shí)驗(yàn)報(bào)告

        篇一:電工基礎(chǔ)實(shí)驗(yàn)報(bào)告電 工 學(xué) 實(shí)驗(yàn)報(bào)告 實(shí)訓(xùn)時(shí)間: 2012/3/26 指導(dǎo)老師: 班 級: 姓 名:學(xué) 號: 11 廣州大學(xué) 給排水工程專業(yè)學(xué)生實(shí)驗(yàn)報(bào)告 no1 科目 電子電工技術(shù)班級 1 報(bào)告人:......

        基礎(chǔ)會(huì)計(jì)實(shí)驗(yàn)報(bào)告

        實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課程基礎(chǔ)會(huì)計(jì)學(xué)原理實(shí)驗(yàn)專業(yè)財(cái)務(wù)管理年級2012級姓名學(xué)號日期 2013 年 6 月29 日一、實(shí)驗(yàn)?zāi)康耐ㄟ^本實(shí)驗(yàn),讓學(xué)生正確理解各種經(jīng)濟(jì)業(yè)務(wù)內(nèi)容,掌握各種記賬憑證的具體......

        基礎(chǔ)會(huì)計(jì)實(shí)驗(yàn)報(bào)告

        基礎(chǔ)會(huì)計(jì)實(shí)驗(yàn)報(bào)告 1 會(huì)計(jì)憑證實(shí)驗(yàn) (驗(yàn)證性) 時(shí)間 2011.05.6地點(diǎn) B102 定義、意義、種類、 編制方法(2000字以上); 學(xué)習(xí)體會(huì)(1000字以上) 舉一業(yè)務(wù) 畫一張記帳憑證并編制記帳憑證 2......

        基礎(chǔ)會(huì)計(jì)實(shí)驗(yàn)報(bào)告

        會(huì)計(jì)模擬實(shí)驗(yàn)報(bào)告 一、 實(shí)驗(yàn)?zāi)康?本實(shí)驗(yàn)以模擬企業(yè)的實(shí)際會(huì)計(jì)工作為基礎(chǔ),按照企業(yè)會(huì)計(jì)制度和企業(yè)會(huì)計(jì)準(zhǔn)則的要求,進(jìn)行操作訓(xùn)練,通過手工操作掌握會(huì)計(jì)核算的基本操作程序,以及各......

        三年級科學(xué)實(shí)驗(yàn)報(bào)告

        三年級科學(xué)實(shí)驗(yàn)報(bào)告 【實(shí)驗(yàn)名稱】 測定水分及溫度對種子萌發(fā)的影響 [實(shí)驗(yàn)原理] 種子萌發(fā),受多種因素的控制,其中水分和溫度對種子萌發(fā)具有重要影響。 [材料和設(shè)備]小麥種子,培......

        小學(xué)生科學(xué)實(shí)驗(yàn)報(bào)告

        小學(xué)生科學(xué)實(shí)驗(yàn)報(bào)告筷子的神力 思考:把一根筷子插入裝著米的杯子中,然后將筷子上提,筷子會(huì)把米和杯子提 起嗎? 材料:塑料杯一個(gè)、米一杯、竹筷子一根操作: 1、將米倒?jié)M塑料杯。 2......

        科學(xué)實(shí)驗(yàn)報(bào)告冊

        實(shí)驗(yàn)名稱:蠟燭的變化 實(shí)驗(yàn)材料:蠟燭、火柴、干玻璃片、試管夾 實(shí)驗(yàn)步驟:1、檢驗(yàn)試驗(yàn)用品是否齊全。2、點(diǎn)燃蠟燭,觀察現(xiàn)象。 3、試管夾夾住干玻璃片,放在火焰上方,觀察現(xiàn)象。4、整......