[原始碼和文件分享]基於C語言實現的約瑟夫生者死者遊戲
1 專案簡介
約瑟夫生者死者遊戲的大意是:30個旅客同乘一條船,因為嚴重超載,加上風高浪大危險萬分;因此船長告訴乘客,只有將全船一半的旅客投入海中,其餘人才能倖免於難。無奈,大家只得統一這種方法,並議定30個人圍成一圈,由第一個人開始,依次報數,數到第9人,便將他投入大海中,然後從他的下一個人數起,數到第9人,再將他投入大海,如此迴圈,直到剩下15個乘客為止。問哪些位置是將被扔下大海的位置。
2 專案功能
本遊戲的數學建模如下:假如N個旅客排成一個環形,依次順序編號1, 2, …, N。從某個指定的第S號開始。沿環計數,每數到第M個人就讓器出列,且從下一個人開始重新計數,繼續進行下去。這個過程一直進行到剩下K個旅客為止。(要求採用單迴圈連結串列)
本遊戲要求使用者輸入的內容包括:
-
旅客的個數,也就是N的值
-
離開旅客的間隔書,也就是M的值
-
所有旅客的序號作為一組資料要求存放在某種資料結構中
本遊戲要求輸出的內容是包括:
-
離開旅客的序號
-
剩餘旅客的序號
參考文件和完整的文件和原始碼下載地址:
相關推薦
[原始碼和文件分享]基於C語言實現的流星雨模擬課程設計
一、課程設計內容及要求 程式模擬一組流星飛向地面的情景。地面用多行#來表示,流星用大寫字母不表示。程式產生一組流星(比如10個),從螢幕頂部下降飛向地面。一組流星中,每個流星的字元顏色是隨機的,下降的位置是隨機的,下降的速度也是隨機的。一個流星下落只能去掉一個#號,當最後一行地面有#被去掉時,程
[原始碼和文件分享]基於C語言實現的網咖管理系統-背單詞-自守數-進位制轉換
1 求解自守數 1.1 問題描述 判斷任意輸入的某數,是否是自守數。如果一個自然數的平方數的尾部仍然為該自然數本身, 則稱其為自守數。例如: 5x5=25 76x76=5776 625x625=390625 1.2 功能要求 可任意輸入一個整數,輸出其是否是
[原始碼和文件分享]基於C語言實現的約瑟夫生者死者遊戲
1 專案簡介 約瑟夫生者死者遊戲的大意是:30個旅客同乘一條船,因為嚴重超載,加上風高浪大危險萬分;因此船長告訴乘客,只有將全船一半的旅客投入海中,其餘人才能倖免於難。無奈,大家只得統一這種方法,並議定30個人圍成一圈,由第一個人開始,依次報數,數到第9人,便將他投入大海中,然後從他的下一個人數
[原始碼和文件分享]基於C語言實現的考試報名系統
1 專案簡介 考試報名工作給各高校報名工作帶來了新的挑戰,給教務管理部門增加了很大的工作量。本專案是對考試報名管理的簡單模擬,用控制檯選項的選擇方式完成下列功能:輸入考生資訊;輸出考生資訊;查詢考生資訊;新增考生資訊;修改考生資訊;刪除考生資訊。 2 專案功能要求 本專案的實質是完成對考
[原始碼和文件分享]基於C語言實現的括號匹配問題
1 解題思路 構造包含頂指標,底指標和增量的結構體。以此建立一個空棧。然後依次讀入輸入的字元,存放至棧中。最後從棧中依次讀出字元。分別設定三種括號的標誌。當右括號讀出時標誌加一,當左括號讀出時標誌減一。如果表示式括號匹配,則三種標誌位都等於0,如果括號不匹配則標誌位不等於0,最後輸出結果。
[原始碼和文件分享]基於C語言實現的勇闖迷宮遊戲
1 專案簡介 迷宮只有兩個門,一個門叫入口,另一個門叫出口。一個騎士騎馬從入口進入迷宮,迷宮設定很多障礙,騎士需要在迷宮中尋找通路以到達出口。 2 專案功能要求 迷宮問題的求解過程可以採用回溯法即在一定的約束條件下試探地搜尋前進,若前進中受阻,則及時回頭糾正錯誤另擇通路繼續搜尋的方法。從
[原始碼和文件分享]基於C#語言的計算器的設計與實現
一 需求分析 利用c#語言實現一個計算器程式,包括普通計算器模式、科學計算器模式;實現實數(包括正數、負數、0)的加、減、乘、除、平方等基本遠算,並實現非負數的開方運算。 二 程式設計與實現 首先設計主窗體,包括兩個TextBox用來顯示資料,使用資料繫結實現,在Model中實現INot
[原始碼和文件分享]基於C語言的B-樹的實現
1 軟體結構設計 1.1 軟體功能結構 用下圖所示的方式描述軟體的功能結構。 1.1.1 B-樹的查詢 B-樹的查詢過程:根據給定值查詢結點和在結點的關鍵字中進行查詢交叉進行。首先從根結點開始重複如下過程: 若比結點的第一個關鍵字小,則查詢在該結點第一個指標指向的結點進行;
[原始碼和文件分享]基於C語言的簡單檔案系統的實現
1 題目介紹 通過具體的檔案儲存空間的管理、檔案物理結構、目錄結構和檔案操作的實現,加深對檔案系統內部的資料結構、功能以及實現過程的理解。 1.1 要求 在記憶體中開闢一個虛擬磁碟空間作為檔案儲存分割槽,在其上實現一個簡單的基於多級目錄的單使用者單任務系統中的檔案系統。在推出該檔
[原始碼和文件分享]基於C語言的個人簡歷錄入程式
一 需求分析 此個人簡歷錄入程式可實現相關資訊的新增、刪除、修改。 通過文字框錄入姓名,通過單選按鈕選擇性別,通過組合框選擇專業(計算機,電子,工商等)和文化程度(大專,本科,碩士,博士等),設定“提交”與“取消”兩個按鍵,當用滑鼠點選“提交”按鍵時,在文字框中顯示所填寫以及選擇的資
[原始碼和文件分享]基於C語言的Linux環境下socket程式設計
一 需求分析 柏克萊套接字,又稱為BSD 套接字是一種應用程式介面,用於網際插座與Unix域套接字,包括了一個用C語言寫成的應用程式開發庫,主要用於實現程序間通訊,在計算機網路通訊方面被廣泛使用。 使用Berkeley套接字的系統有很多,本系統是在Ubuntu下用C語言進行socket程式設
[原始碼和文件分享]基於C++的學生選課管理系統的設計與實現
一 需求分析 系統新增課程:將一門課程加入到系統資料中。課程提交重複時給出提示資訊 系統刪除課程:以課程編號為索引刪除課程。系統無此課程時給出提示 課程新增學生:把學生的姓名、學號等資訊加入到課程中。學號重複時給出提示資訊 課程刪除學生:以學號為索引從課程中
[原始碼和文件分享]基於C++的物資管理系統的設計與實現
一 需求分析 程式需實現以下功能: 新物資資訊錄入(編號、名稱、庫存) 查詢已錄入的所有物資資訊(編號或名稱為索引) 新增物資資訊(編號或名稱為索引) 領物資並生成領料單(編號或名稱為索引) 瀏覽領料單或物資庫存清單 物資資訊儲存,建
[原始碼和文件分享]基於C++的庫存管理系統設計與實現
一 需求分析 1.1 總體要求 運用面向物件程式設計知識,利用C++語言設計和實現一個“庫存管理系統設計”,主要完成對商品的銷售、統計和簡單管理。在實現過程中,需利用面向物件程式設計理論的基礎知識,充分體現出C++語言關於類、繼承和封裝等核心概念,每一個類應包含資料成員和成員函式。 1.
[原始碼和文件分享]基於C++的平面形狀編輯器的設計與實現
一 需求分析 參考如下給出的類層次關係,實現一個平面上的形狀編輯程式序。要求如下: 按照下面類圖給出的層次關係來定義類 所有形狀支援無引數構造,有引數構造,拷貝構造,析構 所有形狀支援平移操作,需要過載 operator+ 所有形狀(除去無意義的)
[原始碼和文件分享]基於C++的民航訂票系統的設計與實現
一、需求分析 設計一個民航管理系統,使更廣大的使用者群體可以藉助這個平臺訂飛機票。 C++作為一個面向物件的語言,利用多型性和封裝性可以更好地表達出這些功能,相比 JAVA 等語言,C++具STL,可以表達更強的封裝性。 二、程式的主要功能 登入和註冊使用者,管理員的登入
[原始碼和文件分享]基於C++的通訊錄系統的設計與實現
一 需求分析 通訊錄系統可幫助使用者管理歸納通訊錄名單,達到新增,刪除,修改,儲存等需求。 二 系統設計 2.1 功能模組設計 通訊錄主要功能為:新增通訊錄成員,修改成員,刪除成員,按需求搜尋檢視成員,儲存為文件。 如下圖所示: 系統各模組的功能具體描述為:
[原始碼和文件分享]基於C++的學生生活系統設計與實現
一 需求分析 需要設計並實現如下場景:在那山的那邊,湖的那邊,有一所學校,學校裡有一幢宿舍樓,宿舍樓有若干層,每一層有若干房間 ,一群學生快樂地生活在這裡。他們每天可做的事情有: 換宿舍,從一個房間搬到另一個房間 退學,亦即搬出宿舍樓 入學,亦即搬入宿舍樓
[原始碼和文件分享]基於C++實現的LZW壓縮演算法
1 特點 基於C++實現的LZW壓縮演算法,特點如下所示: 使用stl::map鍵值對作為字典儲存 感覺算是簡單的檔案操作 字典無限長,字典自生長。但是字典只能解析儲存ascii編碼之類存在,中文符號之類的碰到就掛 2 邏輯設計 2.1 總體思路
[原始碼和文件分享]基於C++的餐廳管理程式的設計與實現
摘 要 隨著計算機應用技術的快速發展和日益普及,網路也遍及到我們生活的每個角落,為我們的學習和工作帶來極大的方便。很多人都使用過傳統的文字,紙張管理手段,與之不同的另外一種管理方式就是利用電腦程式管理餐廳。主要對追求工作高效、穩定、便捷的餐廳管理人員,電腦程式管理餐廳是一種很好的新型管理手段,它