本文目錄一覽:
怎麼寫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