版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 一元稀疏多項(xiàng)式的運(yùn)算 問題描述:設(shè)有兩個(gè)帶頭指針的單鏈表表示兩個(gè)一元稀疏多項(xiàng)式A、B,實(shí)現(xiàn)兩個(gè)一元稀疏多項(xiàng)式的處理。實(shí)現(xiàn)要求: 輸入并建立多項(xiàng)式; 輸出多項(xiàng)式,輸出形式為整數(shù)序列:n,c1,e1,c2,e2cn,en,其中n是多項(xiàng)式的項(xiàng)數(shù),ci,ei分別為第i項(xiàng)的系數(shù)和指數(shù)。序列按指數(shù)降序排列; 多項(xiàng)式A和B相加,建立多項(xiàng)式A+B,輸出相加的多項(xiàng)式; 多項(xiàng)式A和B相減,建立多項(xiàng)式A-B,輸出相減的多項(xiàng)式; 多項(xiàng)式A和B相乘,建立多項(xiàng)式AB,輸出相乘的多項(xiàng)式; 設(shè)計(jì)一個(gè)菜單,至少具有上述操作要求的基本功能。測(cè)試數(shù)據(jù):(1) (2x+5x8-3.1x11)+(7-5x8+11x9)(2) (6
2、x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)2 成績(jī)排序假設(shè)某年級(jí)有4個(gè)班,每班有45名同學(xué)。本學(xué)期有5門課程考試,每門課程成績(jī)是百分制。假定每個(gè)同學(xué)的成績(jī)記錄包含:學(xué)號(hào)、姓名各門課程的成績(jī)共7項(xiàng),其中學(xué)號(hào)是一個(gè)10位的字符串,每個(gè)學(xué)生都有唯一的學(xué)號(hào),并且這4個(gè)班的成績(jī)分別放在4個(gè)數(shù)組中,完成以下操作要求: 編寫一個(gè)成績(jī)生成函數(shù),使用隨機(jī)數(shù)方法,利用隨機(jī)函數(shù)生成學(xué)生的各門課程的成績(jī)(每門課程的成績(jī)都是0100之間的整數(shù)),通過調(diào)用該函數(shù)生成全部學(xué)生的成績(jī); 編寫一個(gè)平均成績(jī)計(jì)算函數(shù),計(jì)算每個(gè)同學(xué)的
3、平均成績(jī)并保存在成績(jī)數(shù)組中; 用冒泡排序法對(duì)4個(gè)班的成績(jī)按每個(gè)同學(xué)的平均成績(jī)的以非遞增方式進(jìn)行班內(nèi)排序; 用選擇排序法對(duì)4個(gè)班的成績(jī)按每個(gè)同學(xué)的平均成績(jī)的以非遞增方式進(jìn)行班內(nèi)排序; 對(duì)已按平均成績(jī)排好序的4個(gè)班的同學(xué)的構(gòu)造一個(gè)所有按平均成績(jī)的以非遞增方式排列的新的單鏈表; 設(shè)計(jì)一個(gè)菜單,至少具有上述操作要求的基本功能。 3 迷宮問題 問題描述: 以一個(gè)mn的長(zhǎng)方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設(shè)計(jì)一個(gè)程序,對(duì)任意設(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結(jié)論。實(shí)現(xiàn)要求: 實(shí)現(xiàn)一個(gè)以鏈表作存儲(chǔ)結(jié)構(gòu)的棧類型,然后編寫一個(gè)求解迷宮的非遞歸程序。求得的通路以三元組(i,j,
4、d)的形式輸出,其中:(i,j)指示迷宮中的一個(gè)坐標(biāo),d表示走到下一坐標(biāo)的方向。 編寫遞歸形式的算法,求得迷宮中所有可能的通路; 以方陣形式輸出迷宮及其通路。測(cè)試數(shù)據(jù)迷宮的測(cè)試數(shù)據(jù)如下:左上角(1,1)為入口,右下角(8,9)為出口。 1 2 3 4 5 6 7 8001000100010001000001101011100100001000001000101011110011100010111000000實(shí)現(xiàn)提示:計(jì)算機(jī)解迷宮通常用的是“窮舉求解”方法,即從入口出發(fā),順著某一個(gè)方向進(jìn)行探索,若能走通,則繼續(xù)往前進(jìn);否則沿著原路退回,換一個(gè)方向繼續(xù)探索,直至出口位置,求得一條通路。假如所有可能
5、的通路都探索到而未能到達(dá)出口,則所設(shè)定的迷宮沒有通路??梢远S數(shù)組存儲(chǔ)迷宮數(shù)據(jù),通常設(shè)定入口點(diǎn)的下標(biāo)為(1,1),出口點(diǎn)的下標(biāo)為(m,n)。為處理方便起見,可在迷宮的四周加一圈障礙。對(duì)于迷宮中任一位置,均可約定有東、南、西、北四個(gè)方向可通。4 棧及其操作 問題描述:棧(Stack):是限制在表的一端進(jìn)行插入和刪除操作的線性表。又稱為后進(jìn)先出LIFO (Last In First Out)或先進(jìn)后出FILO (First In Last Out)線性表。棧頂(Top):允許進(jìn)行插入、刪除操作的一端,又稱為表尾。用棧頂指針(top)來指示棧頂元素。棧底(Bottom):是固定端,又稱為表頭??諚#?/p>
6、當(dāng)表中沒有元素時(shí)稱為空棧。設(shè)棧S=(a1,a2,an),則a1稱為棧底元素,an為棧頂元素。棧中元素按a1,a2,an的次序進(jìn)棧,退棧的第一個(gè)元素應(yīng)為棧頂元素an。即棧的修改是按后進(jìn)先出的原則進(jìn)行的。棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱為鏈棧,是運(yùn)算受限的單鏈表。其插入和刪除操作只能在表頭位置上進(jìn)行。鏈棧的基本形式如下:top空鏈棧topan a3 a2 a1 非空鏈棧實(shí)現(xiàn)要求: 鏈棧基本操作的實(shí)現(xiàn):棧的初始化,生成一個(gè)空棧;壓棧,即元素進(jìn)棧;彈棧,即元素出棧; 十進(jìn)制整數(shù)N向其它進(jìn)制數(shù)d(二、八、十六)的轉(zhuǎn)換是計(jì)算機(jī)實(shí)現(xiàn)計(jì)算的基本問題。轉(zhuǎn)換法則:該轉(zhuǎn)換法則對(duì)應(yīng)于一個(gè)簡(jiǎn)單算法原理:n=(n div d)*d+n
7、 mod d 其中:div為整除運(yùn)算,mod為求余運(yùn)算 在文字處理軟件或編譯程序設(shè)計(jì)時(shí),常常需要檢查一個(gè)字符串或一個(gè)表達(dá)式中的括號(hào)是否相匹配?匹配思想:從左至右掃描一個(gè)字符串(或表達(dá)式),則每個(gè)右括號(hào)將與最近遇到的那個(gè)左括號(hào)相匹配。則可以在從左至右掃描過程中把所遇到的左括號(hào)存放到堆棧中。每當(dāng)遇到一個(gè)右括號(hào)時(shí),就將它與棧頂?shù)淖罄ㄌ?hào)(如果存在)相匹配,同時(shí)從棧頂刪除該左括號(hào)。算法思想:設(shè)置一個(gè)棧,當(dāng)讀到左括號(hào)時(shí),左括號(hào)進(jìn)棧。當(dāng)讀到右括號(hào)時(shí),則從棧中彈出一個(gè)元素,與讀到的左括號(hào)進(jìn)行匹配,若匹配成功,繼續(xù)讀入;否則匹配失敗,返回FLASE。5 用C語言設(shè)計(jì)一個(gè)年歷系統(tǒng)問題描述:年歷系統(tǒng)首先對(duì)于輸入的任
8、一年,能夠給出該年每月的日期及實(shí)際周幾的對(duì)應(yīng)情況,并與實(shí)際的星期數(shù)垂直對(duì)齊,如下表所示(當(dāng)輸入2004時(shí)顯示如下):Input the year:2004The calendar of the year 2004. Januray 1 February 2= = Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 1 2 3 1 2 3 4 5 6 7 4 5 6 7 8 9 10 8 9 10 11 12 13 14 11 12 13 14 15 16 17 15 16 17 18 19 20 21 18 19 20 21 22 2
9、3 24 22 23 24 25 26 27 28 25 26 27 28 29 30 31 29= = March 3 April 4= = Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 1 2 3 7 8 9 10 11 12 13 4 5 6 7 8 9 10 14 15 16 17 18 19 20 11 12 13 14 15 16 17 21 22 23 24 25 26 27 18 19 20 21 22 23 24 28 29 30 31 25 26 27 28 29 30= =功能要求
10、: 輸入任一年將顯示出該年的所有月份日期,對(duì)應(yīng)的星期,輸出的格式如上表要求(注意閏年情況); 輸入任意日期(包括年、月、日,格式有yyy/mm/dd、dd/mm/yyyy、mm/dd/yyyy、和yyyy,mm,dd、mm,dd,yyyy、dd,mm,yyyy六種基本情況),要求能夠顯示出該日期是本年的哪一周,是星期幾。6 航班信息管理問題描述:飛機(jī)航班系統(tǒng)的數(shù)據(jù)包括兩部分: 航班信息:航班號(hào)、最大載客數(shù)、起飛地點(diǎn)、起飛時(shí)間、降落地點(diǎn)、降落時(shí)間,單價(jià); 乘客信息:航班號(hào)、身份證號(hào)碼、姓名、性別、出生年月、座位號(hào)。乘客訂票的主要方式是:乘客提出航班號(hào)、起飛地點(diǎn)、起飛時(shí)間、降落地點(diǎn)、訂票數(shù)等訂票要
11、求,根據(jù)事先保存的航班數(shù)據(jù)決定乘客能否訂票?只有全部滿足了乘客的訂票要求并且所訂航班有足夠的未訂座位之后才能完成訂票處理,并且修改該航班的未訂座位數(shù)(每個(gè)航班的未訂座位數(shù)的初始值就是該航班的最大載客數(shù));否則,訂票失敗,并且給出不能訂票的原因。要求將航班數(shù)據(jù)保存在數(shù)據(jù)文件中,在處理時(shí)按航班的起飛地點(diǎn)建立不同的鏈表。功能要求 : 增加航班記錄。將新的航班記錄增加到原有的航班數(shù)據(jù)文件中。在進(jìn)行處理時(shí)必須檢查所要增加的航班記錄是否存在,如果已經(jīng)存在,應(yīng)給出提示信息后停止增加; 航班取消。如果某次航班的乘客數(shù)太少(已訂票的少于本次航班最大載客數(shù)的10%),將取消該航班,但該航班的記錄仍然保存在原有的航
12、班數(shù)據(jù)文件中; 航班查詢。應(yīng)該有以下幾種基本的查詢方式:按航班號(hào)、按起飛地點(diǎn)和起飛時(shí)間、按降落地點(diǎn),按起飛地點(diǎn)和降落地點(diǎn); 航班訂票。按上述問題描述中的乘客訂票方式完成航班訂票處理。 設(shè)計(jì)一個(gè)菜單,至少具有上述操作要求的基本功能。 7學(xué)生成績(jī)管理問題描述:設(shè)學(xué)生信息包括:學(xué)號(hào)、姓名、學(xué)期、每門課程的成績(jī)(每學(xué)期的課程門數(shù)是不一樣的) ,對(duì)學(xué)生的成績(jī)信息進(jìn)行管理。實(shí)現(xiàn)要求:實(shí)現(xiàn):學(xué)生信息的錄入;修改;刪除和查詢,按學(xué)期、學(xué)號(hào)、成績(jī)不及格等查詢。 輸入學(xué)生的成績(jī)信息,包含學(xué)號(hào)、姓名、性別等基本信息和各課成績(jī) 顯示全部學(xué)生各科成績(jī)信息; 對(duì)各科成績(jī)統(tǒng)計(jì)分析(總分、平均分、最高分、最低分、及格率等);
13、 統(tǒng)計(jì)各科各分?jǐn)?shù)段人數(shù); 按學(xué)號(hào)或姓名查找并顯示某個(gè)學(xué)生的各科成績(jī); 按課程成績(jī)或總分由高到低排序顯示; 更新某個(gè)學(xué)生的基本信息或課程成績(jī); 設(shè)計(jì)一個(gè)菜單,具有上述規(guī)定的操作要求、退出系統(tǒng)等最基本的功能。8 運(yùn)動(dòng)會(huì)管理系統(tǒng)問題描述:校際運(yùn)動(dòng)會(huì)管理系統(tǒng)。設(shè)有n個(gè)學(xué)校參加校際運(yùn)動(dòng)會(huì),共有男子競(jìng)賽項(xiàng)目數(shù)m,女子競(jìng)賽項(xiàng)目數(shù)w。每個(gè)學(xué)??梢詤⒓铀懈?jìng)賽項(xiàng)目,也可以只參加部分競(jìng)賽項(xiàng)目,每個(gè)學(xué)校對(duì)每個(gè)項(xiàng)目的參賽運(yùn)動(dòng)員不能超過4人,每個(gè)運(yùn)動(dòng)員最多只能參加3項(xiàng)單項(xiàng)比賽,團(tuán)體賽不受限制。各項(xiàng)目名次取法有如下幾種:用戶自定義:(各名次權(quán)值由用戶指定) 參賽人數(shù)超過6人,取前5名:第1名得分 7,第2名得分 5,第3
14、名得分3,第4名得分2,第5名得分 1;參賽人數(shù)不超過6人,取前3名:第1名得分 5,第2名得分 3,第3名得分2; 團(tuán)體項(xiàng)目的名次取法和上面相同,但分?jǐn)?shù)加倍。功能要求 : 運(yùn)動(dòng)員報(bào)名登記,以學(xué)校為單位進(jìn)行運(yùn)動(dòng)員報(bào)名登記,登記的限制要求按問題描述的要求; 參賽信息查詢,查看參賽學(xué)校信息和比賽項(xiàng)目信息; 競(jìng)賽檢錄,每項(xiàng)比賽開始前完成參賽運(yùn)動(dòng)員的檢錄; 競(jìng)賽成績(jī)登記,填寫比賽名次,然后根據(jù)競(jìng)賽檢錄的運(yùn)動(dòng)員人數(shù)和上述的記分方式自動(dòng)完成各學(xué)校的成績(jī)登記并實(shí)時(shí)生成各學(xué)校的團(tuán)體總分; 比賽成績(jī)查詢,可以按競(jìng)賽項(xiàng)目、參賽學(xué)校、參賽運(yùn)動(dòng)員查看比賽成績(jī); 競(jìng)賽成績(jī)排序,以學(xué)校為單位,按總成績(jī)的高低,分別排序輸出
15、每個(gè)學(xué)校的總成績(jī)、男子總成績(jī)、女子總成績(jī); 設(shè)計(jì)一個(gè)菜單,至少具有上述操作要求的基本功能。(本題由2人完成)9 銀行存款方案比較 問題描述:設(shè)銀行整存整取不同期限的月利率分別是:活期月息為0.75%,一年期月息為1.75%,三年期月息為2.15%,五年期月息為2.75%,且銀行對(duì)定期存款過期部分不支付利息?,F(xiàn)在某人將手頭多余的錢存入銀行,其多余的錢是第一年每月2000元,以后每年每月多余的錢在上一年隊(duì)每月多余錢的基礎(chǔ)上再增加8%,現(xiàn)在該人計(jì)劃按上述方式在銀行存款15年。實(shí)現(xiàn)要求: 按活期存款,15年里共存入的本金有多少?利息有多少?15年后全部取出后本、息之和是多少? 按一年定期存款,15年里
16、共存入的本金有多少?利息有多少?15年后全部取出后本、息之和是多少? 按三年定期存款,15年里共存入的本金有多少?利息有多少?15年后全部取出后本、息之和是多少? 按五年定期存款,15年里共存入的本金有多少?利息有多少?15年后全部取出后本、息之和是多少? 設(shè)計(jì)一個(gè)菜單,具有上述要求的所有功能、退出系統(tǒng)等最基本的功能。10 集合運(yùn)算 問題描述:設(shè)有兩個(gè)用單鏈表表示的集合A、B,其元素類型是int且以非遞減方式存儲(chǔ),其頭結(jié)點(diǎn)分別為a、b。要求下面各問題中的結(jié)果集合同樣以非遞減方式存儲(chǔ),結(jié)果集合不影響原集合。實(shí)現(xiàn)要求: 編寫集合元素測(cè)試函數(shù)IN_SET,如果元素已經(jīng)在集合中返回0,否則返回1; 編
17、寫集合元素輸入并插入到單鏈表中的函數(shù)INSERT_SET,保證所輸入的集合中的元素是唯一且以非遞減方式存儲(chǔ)在單鏈表中; 編寫集合元素輸出函數(shù),對(duì)建立的集合鏈表按非遞增方式輸出; 編寫求集合A、B的交C=AB的函數(shù),并輸出集合C的元素; 編寫求集合A、B的并D=AB的函數(shù),并輸出集合D的元素; 求集合A與B的對(duì)稱差E=(A-B)(B-A) 的函數(shù),并輸出集合D的元素; 設(shè)計(jì)一個(gè)菜單,具有輸入集合元素、求集合A、B的交C、求集合A、B的并D、求集合A與B的對(duì)稱差E、退出等基本的功能。測(cè)試數(shù)據(jù):由讀者自定,但集合A、B的元素個(gè)數(shù)不得少于16個(gè)。11 矩陣的操作設(shè)有兩個(gè)矩陣A=(aij)mn,B=(b
18、ij)pq。實(shí)現(xiàn)要求: 編寫矩陣輸入函數(shù)INPUT_MAT,通過該函數(shù)完成矩陣的輸入并返回保存矩陣的三元組(不能使用全局變量); 編寫矩陣輸出函數(shù)OUTPUT_MAT,通過該函數(shù)完成矩陣的輸出,輸出的形式是標(biāo)準(zhǔn)的矩陣形式(即二維數(shù)組的形式); 求矩陣的轉(zhuǎn)置,矩陣的轉(zhuǎn)置A=(aji)nm,轉(zhuǎn)置前輸出原矩陣,轉(zhuǎn)置后輸出轉(zhuǎn)置矩陣; 求矩陣A、B的和。矩陣A和B能夠相加的條件是:m=p,n=q;矩陣A和B如果不能相加,請(qǐng)給出提示信息;若能夠相加,則求和矩陣C并輸出C;C=A+B=(cij)mn,其中cij=aij+bij 求矩陣A、B的差。矩陣A和B能夠相減的條件是:m=p,n=q;矩陣A和B如果不能
19、相減,請(qǐng)給出提示信息;若能夠相減,則求差矩陣C并輸出C;C=A-B=(cij)mn,其中cij=aij-bij 求矩陣A、B的積。矩陣A和B能夠相乘的條件是:p=n;矩陣A和B如果不能相乘,請(qǐng)給出提示信息;若能夠相乘,則求積矩陣D并輸出D;D=AB=(dij)mq,其中dij=aikbkj,k=1,2,n 設(shè)計(jì)一個(gè)菜單,具有求矩陣的轉(zhuǎn)置、求矩陣的和、求矩陣的積、退出等基本的功能。在求矩陣的和或求矩陣的積時(shí)要求能夠先提示輸入兩個(gè)矩陣的,然后再進(jìn)行相應(yīng)的操作。12 數(shù)據(jù)匯總 問題描述:在數(shù)據(jù)處理中經(jīng)常需要對(duì)大量數(shù)據(jù)進(jìn)行匯總,將相同關(guān)鍵字記錄的某些數(shù)據(jù)項(xiàng)的值疊加起來,生成一個(gè)分類匯總表。假設(shè)某超級(jí)市
20、場(chǎng)銷售有m種商品(假設(shè)商品的編號(hào)為1,2,3,m),有n臺(tái)前臺(tái)收款機(jī)(假設(shè)收款機(jī)的編號(hào)為1,2,3,n)進(jìn)行收款,以記錄的形式提供給計(jì)算機(jī),每個(gè)記錄表示某臺(tái)收款機(jī)的一種商品一次交易的數(shù)量和銷售額。記錄由4個(gè)域組成:收款機(jī)編號(hào)、商品編號(hào)、銷售數(shù)量、銷售金額。構(gòu)造一個(gè)結(jié)構(gòu)體類型,每次銷售數(shù)據(jù)以一個(gè)結(jié)構(gòu)體變量保存在一個(gè)數(shù)據(jù)文件中。實(shí)現(xiàn)要求: 編寫實(shí)現(xiàn)將數(shù)據(jù)記錄插入到數(shù)據(jù)文件的最后的函數(shù); 編寫以收款機(jī)為單位的數(shù)據(jù)分類處理函數(shù)。構(gòu)造n個(gè)單鏈表,每個(gè)鏈表保存一臺(tái)收款機(jī)的銷售記錄,這n個(gè)單鏈表的頭指針存放在一個(gè)指針數(shù)組中,通過數(shù)組的下標(biāo)就可以知道是哪臺(tái)收款機(jī)。讀取數(shù)據(jù)文件的記錄,將所有的銷售記錄(數(shù)據(jù)文件
21、中的全部記錄)分解插入到n個(gè)單鏈表; 編寫以商品為單位的數(shù)據(jù)分類處理函數(shù)。構(gòu)造m個(gè)單鏈表,每個(gè)鏈表保存一種商品的銷售記錄,這m個(gè)單鏈表的頭指針存放在一個(gè)指針數(shù)組中,通過數(shù)組的下標(biāo)就可以知道是哪種商品。讀取數(shù)據(jù)文件的記錄,將所有的銷售記錄(數(shù)據(jù)文件中的全部記錄)分解插入到m個(gè)單鏈表; 統(tǒng)計(jì)每臺(tái)收款機(jī)的銷售總額; 以收款機(jī)為單位,將所有收款機(jī)按銷售總額的非遞減順序構(gòu)造一個(gè)單鏈表并輸出; 以商品為單位,統(tǒng)計(jì)每種商品的銷售總額; 以商品為單位,將所有銷售的商品按銷售總額的非遞減順序構(gòu)造一個(gè)單鏈表并輸出; 設(shè)計(jì)一個(gè)菜單,具有上述要求的所有功能、退出系統(tǒng)等最基本的功能。13 joseph環(huán) 題目之一:?jiǎn)栴}
22、描述:編號(hào)是1,2,n的n個(gè)人按照順時(shí)針方向圍坐一圈,一開始任選一個(gè)正整數(shù)作為報(bào)數(shù)上限(開始)值m(mn),從第s(sn)個(gè)人開始沿順時(shí)針方向順序報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù),報(bào)m的人出列,然后在從他在順時(shí)針方向的下一個(gè)人開始重新從1報(bào)數(shù),如此下去,直到所有人全部出列為止。設(shè)計(jì)一個(gè)程序來求出出列順序。實(shí)現(xiàn)要求: 利用單向循環(huán)鏈表存儲(chǔ)結(jié)構(gòu)模擬此過程,按照出列的順序輸出各個(gè)人的編號(hào)。輸入數(shù)據(jù):建立輸入處理輸入數(shù)據(jù),輸入m、n、s的初值和每個(gè)人的編號(hào),建立單循環(huán)鏈表。輸出形式:建立一個(gè)輸出函數(shù),將正確的序列輸出。 利用順序表存儲(chǔ)結(jié)構(gòu)模擬此過程,按照出列的順序輸出各個(gè)人的編號(hào)。輸入數(shù)據(jù):建立輸入處理輸入數(shù)據(jù)
23、,輸入m、n、s的初值和每個(gè)人的編號(hào),建立單循環(huán)鏈表。輸出形式:建立一個(gè)輸出函數(shù),將正確的序列輸出。測(cè)試數(shù)據(jù):m的初值為20,n=7 ,7個(gè)人的密碼依次為3,1,7,2,4,7,4,首先m=6,則正確的輸出是什么?題目之二:?jiǎn)栴}描述:編號(hào)是1,2,n的n個(gè)人按照順時(shí)針方向圍坐一圈,一開始任選一個(gè)正整數(shù)作為報(bào)數(shù)上限(開始)值m(mn),從第s(sn)個(gè)人開始沿逆時(shí)針方向順序報(bào)數(shù),報(bào)到m時(shí)停止報(bào)數(shù),報(bào)m的人出列,然后在從他在逆時(shí)針方向的下一個(gè)人開始重新從1報(bào)數(shù),如此下去,直到所有人全部出列為止。設(shè)計(jì)一個(gè)程序來求出出列順序。實(shí)現(xiàn)要求: 利用單向循環(huán)鏈表存儲(chǔ)結(jié)構(gòu)模擬此過程,按照出列的順序輸出各個(gè)人的編
24、號(hào)。輸入數(shù)據(jù):建立輸入處理輸入數(shù)據(jù),輸入m、n、s的初值和每個(gè)人的編號(hào),建立單循環(huán)鏈表。輸出形式:建立一個(gè)輸出函數(shù),將正確的序列輸出。 利用順序表存儲(chǔ)結(jié)構(gòu)模擬此過程,按照出列的順序輸出各個(gè)人的編號(hào)。輸入數(shù)據(jù):建立輸入處理輸入數(shù)據(jù),輸入m、n、s的初值和每個(gè)人的編號(hào),建立單循環(huán)鏈表。輸出形式:建立一個(gè)輸出函數(shù),將正確的序列輸出。測(cè)試數(shù)據(jù):m的初值為31,n=7 ,7個(gè)人的密碼依次為3,1,7,2,4,7,4,首先m=6,則正確的輸出是什么?14 隊(duì)列及其操作 問題描述:隊(duì)列(Queue):也是運(yùn)算受限的線性表。是一種先進(jìn)先出(First In First Out ,簡(jiǎn)稱FIFO)的線性表。只允許
25、在表的一端進(jìn)行插入,而在另一端進(jìn)行刪除。隊(duì)首(front) :允許進(jìn)行刪除的一端稱為隊(duì)首。隊(duì)尾(rear) :允許進(jìn)行插入的一端稱為隊(duì)尾。隊(duì)列中沒有元素時(shí)稱為空隊(duì)列。在空隊(duì)列中依次加入元素a1, a2, , an之后,a1是隊(duì)首元素,an是隊(duì)尾元素。顯然退出隊(duì)列的次序也只能是a1, a2, , an ,即隊(duì)列的修改是依先進(jìn)先出的原則進(jìn)行的。隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)簡(jiǎn)稱為鏈隊(duì)列,它是限制僅在表頭進(jìn)行刪除操作和表尾進(jìn)行插入操作的單鏈表。需要兩類不同的結(jié)點(diǎn):數(shù)據(jù)元素結(jié)點(diǎn),隊(duì)列的隊(duì)首指針和隊(duì)尾指針的結(jié)點(diǎn),鏈隊(duì)的基本形式如下:data 數(shù)據(jù)元素結(jié)點(diǎn)指針結(jié)點(diǎn)frontrear空隊(duì)列queuea 只有一個(gè)元素的隊(duì)
26、列queue有n個(gè)元素的隊(duì)列a3 a2 an a1 queue實(shí)現(xiàn)要求: 鏈隊(duì)列基本操作的實(shí)現(xiàn):鏈隊(duì)列的初始化,生成一個(gè)空鏈隊(duì)列;鏈隊(duì)列的撤消,即刪除隊(duì)列中的所有結(jié)點(diǎn),僅留下指針結(jié)點(diǎn); 鏈隊(duì)列的入隊(duì)操作,即在已知隊(duì)列的隊(duì)尾插入一個(gè)元素e,即修改隊(duì)尾指針; 鏈隊(duì)列的出隊(duì)操作,即返回隊(duì)首結(jié)點(diǎn)的元素值并刪除隊(duì)首結(jié)點(diǎn); 設(shè)計(jì)一個(gè)菜單,具有上述要求的所有功能、退出系統(tǒng)等最基本的功能。15 背包問題的求解 題目之一:?jiǎn)栴}描述:假設(shè)有一個(gè)能裝入總體積為T的背包和n件體積分別為w1 , w2 , , wn 的物品,能否從n件物品中挑選若干件恰好裝滿背包,即使w1 +w2 + + wn=T,要求找出所有滿足上述
27、條件的解。例如:當(dāng)T=10,各件物品的體積1,8,4,3,5,2時(shí),可找到下列4組解:(1,4,3,2)(1,4,5)(8,2)(3,5,2)。問題提示:可利用回溯法的設(shè)計(jì)思想來解決背包問題。首先將物品排成一列,然后順序選取物品裝入背包,假設(shè)已選取了前i 件物品之后背包還沒有裝滿,則繼續(xù)選取第i+1件物品,若該件物品太大不能裝入,則棄之而繼續(xù)選取下一件,直至背包裝滿為止。但如果在剩余的物品中找不到合適的物品以填滿背包,則說明剛剛裝入背包的那件物品不合適,應(yīng)將它取出棄之一邊,繼續(xù)再?gòu)乃蟮奈锲分羞x取,如此重復(fù),直至求得滿足條件的解,或者無解。題目之二:?jiǎn)栴}描述:假設(shè)有n件物品,這些物品的重量分
28、別是W1 , W2 , , Wn,物品的價(jià)值分別是V1,V2, ,Vn。求從這n件物品中選取一部分物品的方案,使得所選中的物品的總重量不超過限定的重量W(WWi, i=1,2,n),但所選中的物品價(jià)值之和為最大。問題提示:利用遞歸尋找物品的選擇方案。假設(shè)前面已有了多種選擇的方案,并保留了其中總價(jià)值最大的方案于數(shù)組option中,該方案的總價(jià)值保存于變量max_value中。當(dāng)前正在考察新方案,其物品選擇情況保存于數(shù)組eop中。假設(shè)當(dāng)前方案已考慮了i-1件物品,現(xiàn)在要考慮第i件物品:當(dāng)前方案已包含的物品的重量之和為tw;因此,若其余物品都選擇是可能的話,本方案所能達(dá)到的總價(jià)值的期望值設(shè)為tv。引
29、入tv是當(dāng)一旦當(dāng)前方案的總價(jià)值的期望值也小于前面方案的總價(jià)值max_value時(shí),繼續(xù)考察當(dāng)前方案已無意義,應(yīng)終止當(dāng)前方案而去考察下一個(gè)方案。第i件物品的選擇有兩種可能: 物品i被選擇。這種可能性僅當(dāng)包含它不會(huì)超過方案總重量的限制才是可行的。選中之后繼續(xù)遞歸去考慮其余物品的選擇; 物品i不被選擇。這種可能性僅當(dāng)不包含物品i也有可能找到價(jià)值更大的方案的情況。16猴子摘桃子問題描述:五只猴子一起摘了一堆桃子,因?yàn)樘?,五只猴子決定先睡一覺再分。不久,其中一只猴子醒來了,它見別的猴子沒有醒來,便將一堆桃子平均分成5份,結(jié)果多了一個(gè),就將多的這個(gè)吃了,拿走其中的一份并離開。又不久,第二只猴子醒來了,它
30、不知道有一個(gè)同伴已經(jīng)拿走過桃子,便又將剩下的桃子平均分成5份,發(fā)現(xiàn)也多了一個(gè),同樣吃了這一個(gè),拿走其中的一份。如此類推第3只,第4只,第5只猴子都是這樣分、吃、拿走。問這5只猴子至少摘了多少個(gè)桃子?根據(jù)上述描述,編制程序解決問題。17 字符串的處理 問題描述:設(shè)有若干個(gè)字符串,這些字符串存儲(chǔ)位置的首地址保存在指針數(shù)組中(即字符串用指向字符的指針變量表示)。實(shí)現(xiàn)要求: 實(shí)現(xiàn)字符串的輸入和輸出; 對(duì)所有的字符串按從小到大的順序排序,即指針數(shù)組中的第一個(gè)元素指向最小的字符串,第二個(gè)元素指向次小的字符串,依次類推; 判斷這些字符串中是否有“回文”,所謂“回文”指的是順讀和倒讀都是一樣的字符串; 設(shè)計(jì)一
31、個(gè)菜單,具有上述規(guī)定的操作要求、退出系統(tǒng)等最基本的功能。18 矩陣轉(zhuǎn)換問題描述:矩陣文件結(jié)構(gòu)(a.mat)10 20 107 1 1 4 2 6 1 10 1 12 2 2 1 3 2 5 1 6 2 7 1 8 1 9 1 14 2 2 1 4 2 6 1 7 2 10 1 12 2 13 1 18 1 20 1 1 1 2 1 3 1 4 2 5 2 6 1 7 1 8 2 9 1 10 3 11 2 12 1 13 2 14 1 15 1 16 3 17 1 18 1 19 2 20 1 3 2 4 1 9 3 14 2 16 1 17 2 18 1 19 1 20 1 1 1 3 1
32、7 1 9 1 12 1 13 1 14 2 15 1 16 1 17 2 18 1 19 2 5 2 7 1 8 1 10 1 11 2 12 1 14 2 16 1 17 2 18 2 1 2 3 1 4 2 5 1 6 1 7 1 8 2 9 3 10 2 11 1 12 1 13 1 14 2 15 2 16 1 17 3 18 1 19 1 20 1 7 1 8 1 11 1 14 1 18 1 1 2 2 3 3 4 5 1 6 1 7 2 13 1 15 2 17 2 19 1說明:第一行三個(gè)數(shù)字分別表示文件中的行數(shù)m,維數(shù)n和非零元的個(gè)數(shù)k下面每一行表示一個(gè)向量,奇數(shù)位數(shù)字表示
33、列編號(hào),偶數(shù)數(shù)字表示列權(quán)值例如:a.mat文件內(nèi)容包括10個(gè)向量,每個(gè)向量20維,非零元為107個(gè)第一個(gè)向量的第1、4、6、10、12維的權(quán)值分別為1、2、1、1、2要求:1 從文件a.mat中讀取數(shù)據(jù)存儲(chǔ)在m*n的二維數(shù)組A中2 利用A數(shù)組計(jì)算矩陣中任意兩行之間的歐幾里得距離,構(gòu)造m*m維距離矩陣M(m見上說明,下同,M應(yīng)保持與原文件行列對(duì)應(yīng))d=sqrt(x1-y1)2+(x2-y2)2+(x3-y3)2+(x4-y4)2+(xn-yn)2)(n見上說明,下同)3 計(jì)算距離矩陣M的值分布若M中最小值為v1,最大值為v2,則閉區(qū)間v1,v2為M的值分布區(qū)間,以M中值的最小精度s為單位,將v1
34、,v2劃分為(v2-v1)/s個(gè)區(qū)間(例如v1=1,v2=2,精度為0.0001,則v1,v2區(qū)間將被劃分為10000個(gè)小區(qū)間);構(gòu)造M的值分布向量D(v2-v1)/s,任意一個(gè)區(qū)間Di的值為M中小于等于v1+i*s的值的個(gè)數(shù)(D為一個(gè)升序數(shù)列)4 計(jì)算D中任意相鄰兩點(diǎn)之間的斜率,取斜率最大的兩點(diǎn)中前面的點(diǎn)Dt的值計(jì)為T,將M中所有小于等于T的值置0,得到距離矩陣M(m*m)5 按下例格式輸出M到文件b.mat:第一行為兩個(gè)整數(shù)m和l,其中m為M矩陣的階數(shù)(同上m值);l為M中非零元的個(gè)數(shù),用空格分隔;下面各行內(nèi)容為M中第i行中非零元的列編號(hào),用空格分隔(即第i行中若Mij不為零,則寫入j的值
35、),如下示例:19矩陣的壓縮存儲(chǔ)問題描述:矩陣是許多科學(xué)與工程計(jì)算問題中出現(xiàn)的數(shù)學(xué)對(duì)象。在此,我們感興趣的不是矩陣本身,我們所關(guān)心的是研究表示矩陣的方法,以使對(duì)矩陣的各種運(yùn)算能有效地完成。一個(gè)矩陣一般由m行和n列元素組成,一般的m*n階矩陣,可表示成一個(gè)m*n的二維數(shù)組,例如matrixmn,需要的存儲(chǔ)空間是m*n實(shí)現(xiàn)要求:1 若矩陣中的元素是對(duì)稱的,即矩陣中第i行第j列與第j行第i列元素的值相等,即matrixijmatrixji,我們把這種矩陣稱為對(duì)稱矩陣。對(duì)于n*n階對(duì)稱矩陣,我們可以為每一對(duì)對(duì)稱元素分配一個(gè)存儲(chǔ)空間,即只需要存儲(chǔ)其下三角(包括對(duì)角線)或上三角中的元素即可。這樣,就可將n
36、2個(gè)元素壓縮存儲(chǔ)到n(n+1)/2個(gè)存儲(chǔ)單元中。請(qǐng)實(shí)現(xiàn)該功能2 當(dāng)一個(gè)n*n階矩陣的主對(duì)角線上方或下方的所有元素皆為零時(shí),稱該矩陣為三角矩陣。對(duì)于三角矩陣,我們同樣也可采用對(duì)稱矩陣的壓縮存儲(chǔ)方式將其上三角或下三角的元素存儲(chǔ)在一維數(shù)組中,達(dá)到節(jié)約存儲(chǔ)空間的目的。請(qǐng)實(shí)現(xiàn)該功能除了對(duì)稱矩陣和三角矩陣等特殊矩陣外,在實(shí)際應(yīng)用中我們還經(jīng)常遇到這樣一類矩陣,存儲(chǔ)在矩陣中的大量元素值為零,而且零元素的分布沒有規(guī)律,這樣的矩陣稱為稀疏矩陣。對(duì)于稀疏矩陣,采用二維數(shù)組表示既浪費(fèi)大量的存儲(chǔ)單元來存儲(chǔ)零元素,又要花大量的時(shí)間進(jìn)行零元素的運(yùn)算。為此,我們對(duì)稀疏矩陣采取三元組法進(jìn)行存儲(chǔ)。請(qǐng)實(shí)現(xiàn)該功能20借還書信息匯總問
37、題描述:設(shè)有借還書記錄文件a.txt,b.txt結(jié)構(gòu)如下:a. txt賬號(hào)學(xué)號(hào)圖書索引號(hào)借書時(shí)間TP3452009-1-12423O3.62010-2-3btxt賬號(hào)學(xué)號(hào)圖書索引號(hào)還書時(shí)間TP3452009-3-12423O3.62010-3-20要求:1 從a.txt和b.txt中讀取相關(guān)信息存儲(chǔ)到兩個(gè)鏈表中2 以賬號(hào)、學(xué)號(hào)、圖書索引號(hào)為關(guān)聯(lián)合并兩個(gè)文件,合并后格式如下賬號(hào)學(xué)號(hào)圖書索引號(hào)借書時(shí)間還書時(shí)間TP3452009-1-12009-3-12423O3.62010-2-32010-3-20存儲(chǔ)到鏈表中3 將2生成的鏈表數(shù)據(jù)存儲(chǔ)到文件中注意:1、a.txt文件中存在與b.txt不匹配項(xiàng),要
38、求忽略2、b.txt文件中存在與a.txt不匹配項(xiàng),要求忽略21拉丁方陣問題描述:在行列的數(shù)陣中, 數(shù)()在每行和每列中出現(xiàn)且僅 出現(xiàn)一次,這樣的數(shù)陣叫階拉丁方陣。例如下圖就是一個(gè)五階拉丁方陣。 編一程序,從鍵盤輸入值后,打印出所有不同的階拉丁方陣,并統(tǒng)計(jì)個(gè)數(shù)。 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 422進(jìn)制轉(zhuǎn)換問題描述:輸入一個(gè)十進(jìn)數(shù),將其轉(zhuǎn)換成 N 進(jìn)制數(shù)(1N=16)。23矩陣中填數(shù)問題描述: 當(dāng)給出 N*N 的矩陣,要求用程序填入下列形式的數(shù):1 倒填 2 蛇形填數(shù)3 回轉(zhuǎn)填數(shù) 例如N=5時(shí) 2524232221 1 3 41011 116151413 2019181716 2 5 91219 217242312 1514131211 6 8131820 318252211 10 9 8 7 6 714172124 419202110 5 4 3 2 1 1516222325 5 6 7 8 9 24郵票面值問題問題描述:有面值為 M,M+1,M+2,.N-1,N 的郵票各一枚,共能拼出多少不同的面額求出所有的可能面額并打印25生物繁殖問題
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年全球與中國(guó)泥漿處理設(shè)備市場(chǎng)發(fā)展現(xiàn)狀及未來發(fā)展前景報(bào)告
- 2024-2030年全球與中國(guó)二氧化鈰漿料市場(chǎng)發(fā)展現(xiàn)狀及需求趨勢(shì)預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)高鐵廣告行業(yè)前景分析及發(fā)展創(chuàng)新模式研究報(bào)告
- 2024-2030年中國(guó)高端軸承鋼行業(yè)運(yùn)行情況及投資盈利預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)陶瓷墨水行業(yè)發(fā)展現(xiàn)狀及投資競(jìng)爭(zhēng)力分析報(bào)告
- 2024-2030年中國(guó)鑄鐵搪瓷鍋行業(yè)競(jìng)爭(zhēng)策略及投資潛力研究報(bào)告版
- 2024-2030年中國(guó)鋁母合金行業(yè)發(fā)展動(dòng)態(tài)與產(chǎn)銷需求預(yù)測(cè)報(bào)告
- 2024年房地產(chǎn)市場(chǎng)調(diào)研與分析報(bào)告訂購(gòu)合同
- 交通運(yùn)輸工程合作協(xié)議書
- 2024年技術(shù)保密與許可協(xié)議
- 國(guó)開2024年《建筑結(jié)構(gòu)#》形考作業(yè)1-4答案
- DL-T1475-2015電力安全工器具配置與存放技術(shù)要求
- 漏檢分析改善措施
- 新制定《公平競(jìng)爭(zhēng)審查條例》學(xué)習(xí)課件
- GB/T 44051-2024焊縫無損檢測(cè)薄壁鋼構(gòu)件相控陣超聲檢測(cè)驗(yàn)收等級(jí)
- TD/T 1060-2021 自然資源分等定級(jí)通則(正式版)
- 完整加快發(fā)展新質(zhì)生產(chǎn)力課件
- 三位數(shù)除以兩位數(shù)300題-整除-有標(biāo)準(zhǔn)答案
- 辦公室裝修工程施工方案講義
- 奇異的仿生學(xué) 知到智慧樹網(wǎng)課答案
- 大學(xué)生職業(yè)生涯規(guī)劃書藥學(xué)專業(yè)
評(píng)論
0/150
提交評(píng)論