c語言綜合性實驗,C語言綜合實驗

本文目錄一覽:

怎麼寫c語言綜合實驗設計報告?

舉個樓主自己寫的例子吧,僅供參考。

c語言作業報告書

題 目:二次探測再散列法解決衝突建立哈希表並查找

完成時間:2012年5月31號

學 號:2011013290 姓名:聶亮兵 專業班級:信管112班

1. 實習任務與目的

實驗任務:獨立寫出哈希查找的相關代碼並畫出核心的演算法流程圖,記錄相關實驗數據,得出實驗結果。

試驗目的:通過兩者運行時間的對比,加深對哈希查找和順序查找各自優缺點的理解,並進一步熟悉哈希查找的原理和流程。

2. 實習內容及過程

實習內容:用除留餘數法和二次探測再散列法解決衝突建立哈希表並查找,通過函數GetTickCount計算運行時間;再同樣計算順序查找的方法的查找時間。

實習過程:

查閱關於庫函數windows.h的相關內容,並熟悉函數GetTickCount()的用法。

規劃演算法流程,畫出主要函數的流程圖。具體流程是:讀入文件數據——順序查找——輸出結果——哈希查找——輸出結果。

對應流程寫出相關函數,完善主函數。

進行程序的運行和調試,修改一些不足和bug。

添上相關注釋。

運行程序進行實驗並得出實驗結果,記錄。

完成實驗報告。

3. 實驗結果分析

實驗結果:由於所給數據Data.txt數據量過小,實驗結果不明顯,兩種查找所耗時間均被系統默認為0;如圖所示為編號為37、1294、4091的三個數據元素:

分析:哈希查找的方法適用於數據在區間內隨機分布均並且量大的數據形式;而順序查找原理簡單,但是不適用於大量數據的查找。

4. 核心演算法流程圖

圖1:主函數流程圖

圖2:哈希查找流程圖

5. 實習總結及體會

這個實驗難度不大,但是需要自己高質量的獨立完成,對自己是一個總結歸納,能通過這個實驗清楚自己哪些地方平時沒有注意到,哪些地方是自己擅長並應該繼續保持的。

此外,本實驗的全過程能讓自己了解正式的程序、任務和報告等的完成流程。通過自己獨立完成這個實驗,再和標準的數據結構代碼比較,找出自己代碼的亮點、不足以及欠缺,讓自己明白哪些地方是自己想不到的,哪些方法是自己不能想到的,並以此學習好的編程思想和優秀的編程技巧和編程風格。

本次試驗中:

正式的程序代碼中,外部變數的使用要格外注意,不能隨意使用外部變數。但是本程序具有獨立性,不用與其他程序代碼相銜接,採用外部變數的方法,減少函數調用的時候的複製傳值的次數,提高效率。

正式的編程思想中,要有統一的命名方式。這包括兩個方面。其一是自己的命名規則要統一,不能亂。其二是與合作小組之間的命名規則要統一,提高代碼的可嵌入性。但是本實驗由自己獨立完成,命名規則按照自己的習慣而定,與課本命名規則有點出入。

二次探測再散列法解決衝突中,課本中沒有提到如果H(a)-m^20時的處理方法。本程序中採用的方法是取絕對值。二次探測再散列法中,再散列需要在循環中進行,直到找到位置e為止。這個過程中m需要進行兩種互斥變化:一種是 *-1 ;一種是 +1;再循環中不好實現。本程序中採用一個信號變數,每次循環自增1,奇偶數分別執行不同的變化。

C語言綜合實驗設計報告

題目: C語言輸出萬年曆

學院:

專業:

班級:

姓名:

設計日期:

 總分:

一、設計題目:

C語言輸出萬年曆

二、題目闡述及設計思路:

C語言輸出萬年曆,輸入年份、月份,計算得到的是這一天是星期幾;給定年,月,計算此月有多少天 。本程序運用的萬年曆的計算公式: d=a-1+(a-1)/4-(a-1)/100+(a-1)/400+c; 其中a為年c為該日期在本年中的天數,d取整數,當d/7餘數0時是星期天,餘數1時是星期一依此類推。

三、主要知識點:

運用函數調用,if,else函數switch語句。for,while,循環語句。

四、程序清單:

#include stdio.h

int m_day(int year,int month)/*此函數是給定年,月,計算此月有多少天.*/

{

if ((year%4==0 year%100!=0) ?? (year%400==0))

switch(month)

{

case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31;

case 4: case 6: case 9: case 11: return 30;

case 2: return 29;

}

else

switch(month)

{

case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31;

case 4: case 6: case 9: case 11: return 30;

case 2: return 28;

}

}

int main()

{

int year,month;

int i, days=0, d, day=0;

printf (“Enter the year and month:\n”);

scanf (“%d %d “, year, month );

for (i=1;imonth; i++)

days+=m_day (year,i);

d=year-1+(year-1)/4-(year-1)/100+(year-1)/400+days+1;

printf(“%d-%d\n”,year,month);

printf(” Sun Mon Tue Wed Thu Fri Sat\n”);

for (i=0;id%7;i++)

printf(” “);

for (i=1;i=7-d%7;i++)

{

day++;

printf(“%5d”,day);

}

printf(“\n”);

while(1)

{

for (i=1;i=7;i++)

{

day++;

if (daym_day(year,month))

printf(“%5d”,day);

}

printf(“\n”);

}

}

五、設計結果說明:

1、設計優點:

程序充分利用所學的C語言知識,運用了函數的調用、循環語句、以及return語句,使得編程更加有條理。簡單易懂,結構清晰,也使得程序的使用更加方便。

2、設計不足:

在編程序時,由於考慮到時間和受所學知識的限制,只能輸入年份、月份,計算得到的是這一天是星期幾;給定年,月,計算此月有多少天 。而並不能輸入公曆的年月日,輸出農曆年月日以及輸入農曆節氣,輸出當年農曆的年月日及公曆年月日。

c語言綜合實驗報告 幫我弄一個

姓名 ***

**學 院 ** 專業 052 班

2007 年 11 月 24 日

實驗內容實驗五 指導老師 陳老師

一、實驗內容及要求:

編譯運行習題5-3,觀察x、y變數的值。

實現客戶機類(類名為CLIENT),其中包含的成員有:字元型靜態數據成員ServerName,用來保存伺服器名稱;整型靜態數據成員ClientNum,記錄已定義的客戶數量;靜態函數ChangeServerName(),用來改變伺服器名稱。在頭文件client.h中聲明這個類,在文件client.cpp中實現,在文件test.cpp中測試這個類,觀察相應的成員變數取值的變化情況。二、實驗目的:

1、複習類的聲明和使用、掌握對象的聲明和使用;

2、學習構造函數和析構函數的使用,觀察構造函數和析構函數的執行過程。

三、程序:

//client.h

class Client

{

public:

Client();

~Client();

static ChangeServerName(char *); //改變伺服器名稱

char * GetServerName(); //返回伺服器名稱

int GetClientNum (); //返回客戶機數量

protected:

static char ServerName[20]; //伺服器名稱

static int ClientNum; //存放伺服器數量

};

/////////////////////////////////////////////////////

//client.cpp

# include iostream

# include cstring

# include “client.h”

using namespace std;

static char *ServerName = “”;

int Client::ClientNum = 0;

Client::Client()

{ClientNum ++;}

Client::~Client(){}

void Client::ChangeServerName(char * names) //改變伺服器名稱

{strcpy(ServerName,names);}

char * GetServerName() //返回伺服器名稱

{return ServerName;}

int GetClientNum () //返回伺服器數量

{return ClientNum;}

////////////////////////////////////////////////////////

//test.cpp

# include iostream

# include “client.cpp”

using namespace std;

void main() //用於測試的主函數

{

Client threeclient[3];

char namestr[20]; //臨時存放伺服器名稱

cout”定義了3個客戶”endl;

cout”請輸入新伺服器名稱:”endl;

cin namestr;

CC.ChangeServerName(namestr);

cout”伺服器的名稱是”Client::GetServerName()endl;

cout”客戶數量為”CC.GetClientNum ();

}

思考題:

(1)C語言有五種基本數據類型:字元、整型、單精度實型、雙精度實型和空類型。結構體可以定義自己所需特殊類型.其他類型是已經定義好,不可修改的,而結構體是根據自己的需要定義的特殊的類型.

(3)採用了循環,複合語句.

C語言綜合實驗

If SqlConn Is Nothing = False Then

SqlConn.Dispose()

SqlConn = Nothing

End If

End Sub

Public Sub Open()

If SqlConn Is Nothing = True Then

SqlConn = New SqlConnection(Me.sConn)

SqlConn.Open()

End If

End Sub

Public Sub Close()

If SqlConn Is Nothing = False Then

SqlConn.Close()

End If

End Sub

Public Function RunSelectSQL(ByVal sSQLString As System.String) As DataView

Me.Open()

Dim SqlDS As DataSet = New DataSet

Dim SqlDA As SqlDataAdapter = New SqlDataAdapter(sSQLString, Me.SqlConn)

SqlDA.Fill(SqlDS)

Return SqlDS.Tables(0).DefaultView

End Function

Public Function RunDelOrInsSQL(ByVal sSQLString As System.String)

Me.Open()

Dim sqlcomm As SqlCommand = New SqlCommand(sSQLString, Me.SqlConn)

sqlcomm.ExecuteNonQuery()

End Function

End Class

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/289355.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:02
下一篇 2024-12-24 03:02

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論