1. 用鍊錶和陣列兩種方式分別實現棧的出棧、入棧、取棧頂元素、判空、查詢等操作。
2. 假設有乙個迴圈鍊錶的長度大於1,且表中既無頭結點也無頭指標。已知p為指向鍊錶中某結點的指標,試編寫演算法在鍊錶中刪除結點p 的前趨結點。
3. 程式設計序,按如下方法求a矩陣的轉置矩陣b:輸入兩個正整數m和n,而後通過使用指標配合new運算子生成乙個m行n列的二維動態陣列a以及另乙個n行m列的二維動態陣列b,之後為a輸入資料(a矩陣資料),進而求出其轉置矩陣b(資料放動態陣列b中)並輸出結果。
4. 設計乙個統計選票的演算法,輸出每個候選的得票結果(假設採用單鏈表存放選票,候選人編號依次為1,2,3,……,n,且每張選票選且只選一人)
提示:以單鏈表存放選票,每個結點的data域存放該選票所選的候選人。用乙個陣列a統計得票結果。
5. 使用getline成員函式讀入某個text檔案中的「一篇文章」(如可以是乙個c++源程式,檔名由使用者從鍵盤輸入),而後將該檔案的各空行以及各程式行中的註解均刪除掉(認為該行中從第乙個雙撇符號「//」開始直至行末的所有符號為註解),並將刪除註解後的結果行寫出到另乙個檔案中,並同時數出結果檔案的總行數totalline,以及結果檔案中最長行和最短行的行長maxlinelen與minlinelen。
6. 設計乙個程式,演示用算符優先法對算術表示式求值的過程。
基本要求:以字串行的形式從終端輸入語法正確的、不含變數的整數表示式。利用教科書表3.
1給出的算符優先關係,實現對算術四則混合運算表示式的求值,並仿照教科書的例3_1演示在求值中運算子棧、運算數棧、輸入字元和主要操作的變化過程。
測試資料:3*(7-2)
7. 編一程式對至少三個排序方法進行比較,比較方法是生成一組資料(≥400),用選定的排序方法進行排序。輸出每種方法資料比較或交換的次數。最後輸出所花費的時間。
注:此題要用到vc++函式庫中time()函式
time_t time(time_t *timeptr)
引數說明:time_t *timeptr 指向存放自格林威治標準時間2023年1月1日00:00:00:至現在經過多少秒數,型別為time_t的指標變數。
功能描述:函式讀取當前時間,然後計算自格林威治標準時間2023年1月1日00:00:00:至現在經過多少秒數,結果被放在型別為time_t的指標變數所指向的位址變數中。
函式返回值:返回自格林威治標準時間2023年1月1日00:00:00:至現在經過多少秒數
標頭檔案:
8. 編制具有如下原型的函式findfirst以及 findlast,而後編制主函式,任意輸入兩個字串,將它們用作實參來呼叫這兩個函式,以驗證其正確性。
char * findfirst(char * sourcestr, char * substr);
char * findlast(char * sourcestr, char * substr);
findfirst函式的功能為:返回源串sourcestr中第一次出現substr子字串的頭字元位置(位址值)。如果源串sourcestr的長度小於substr子字串的長度,或者源串sourcestr中根本就不出現substr子字串的話,返回空指標值null。
findlast函式則要返回源串sourcestr中最後一次出現substr子字串的頭字元位置。且要求實現程式中不可使用「標頭檔案內有關尋找子串的標準庫函式。
提示:findfirst函式中,首先把substr子串的頭位置j0=0(j0表示substr字元陣列的下標)與sourcestr源串的頭位置j1=0(j1表示sourcestr字元陣列的下標)「對齊」,而後逐字元地對兩個串進行比較(從左到右),若一直比到了子串的結束各字元均相同時,則意味著在源串中找到了子串,此時返回子串在源串中的頭字元位置(位址值);若逐字元進行比較時發現有不相同,則要進一步將substr子串的頭位置j0=0與sourcestr的新頭位置j1=1「對齊」,而後又一次逐字元地對兩個串進行比較(相當於子串整體「右平移」乙個字元後再一次比較),如此等等。findlast則要首先將子串與源串的右後部「對齊」進行比較,而後子串逐步整體「左平移」。
9. 編寫程式,讓計算機來猜測使用者「暗記」的某張撲克牌:計算機從一副撲克牌(54張)中任意抽出27張,擺放在不同的三行上(每行9張),使用者「暗記」某張紙牌,而後告訴計算機所「暗記」的那張紙牌處於哪一行中;之後計算機再兩次將紙牌重新擺放,並讓使用者再回答兩次相同的提問(那張紙牌在重新擺放後又處在哪一行上);此時計算機會將使用者所「暗記」的那張紙牌給挑出來。
例如,程式執行後的螢幕顯示結果可設計為(其中的字首a、b、c、d代表四種不同的花色):
line 1: c-9 d-3 a-7 d-9 a-9 c-3 b-8 a-a d-7
line 2: b-10 a-q d-6 b-4 a-3 b-9 b-k c-a d-8
line 3: king2 d-a b-a a-4 a-2 b-7 d-5 c-7 a-8
remember a card, and tell me what line it reside in(1/2/3): 3
line 1: c-9 d-3 a-7 b-10 a-q d-6 king2 d-a b-a
line 2: d-9 a-9 c-3 b-4 a-3 b-9 a-4 a-2 b-7
line 3: b-8 a-a d-7 b-k c-a d-8 d-5 c-7 a-8
what line the card you remembered reside in now (1/2/3) : 1
line 1: c-9 b-10 king2 d-9 b-4 a-4 b-8 b-k d-5
line 2: d-3 a-q d-a a-9 a-3 a-2 a-a c-a c-7
line 3: a-7 d-6 b-a c-3 b-9 b-7 d-7 d-8 a-8
what line the card you remembered reside in now (1/2/3) : 1
your remembered card is : king2
提示:1)要從一副54張的撲克牌中任意抽出27張,可通過「rand()%54」所產生的隨機值來確定。但注意,一旦隨機抽走哪張,下次牌中就沒有這張了。
2)程式總按照一種策略將三行紙牌重新「擺放」,而後進一步讓使用者進行指定。上述所謂的策略指的是,總將紙牌「一分為三」:第一次要將每一行的9張分散到不同的3行上(每行僅「剩」3張),而第二次則要將上次「確定」出的某3張進一步分散到不同的3行上(每行只「剩」1張。
此時靠使用者再指定一次行號則可唯一確定所「暗記」的那張紙牌)。
執法執紀第四階段總結
園區地稅局開展執法執紀 稅風稅貌檢查活動檢查驗收階段工作報告 市地稅局 自2010年12月開展執法執紀稅風稅貌檢查活動以來,經過半年的分階段部署和檢查實施,已經步入尾聲,在此期間,我局在區局和市局兩級領導下,認真貫徹有關精神,嚴格按照活動計畫安排,群策群力,集中解決活動中發現的問題,著力提高納稅服務...
課題組第四階段小結
三岔小學課題組 關於 教學內容的選擇與安排 第四階段小結 我鎮課題組通過前三個階段的工作,反覆實驗,於2000年三月形成了 大邑縣三岔鎮中心小學校教學內容的選擇和安排實驗方案 並進行推廣實驗。通過推廣實驗,我鎮教師在課堂教學中做到目標明確,圍繞目標有針對性地安排,選擇恰當的教學內容,加快 加深了他們...
政風行風第四階段工作總結
清源鎮周府莊小學 開展 政風行風集中整治活動 第四階段 工作總結 按照 清源學區政風行風集中整治活動第四階段工作安排 的要求,我校在2013年11月全面啟動政風行風第四階段 建章立制階段 工作,經過全體教師的努力,圓滿完成了第四階段工作任務,針對第四階段工作情況,現作如下總結 一 校務公開制度進一步...