第三講 數(shù)組、字符串_第1頁(yè)
第三講 數(shù)組、字符串_第2頁(yè)
第三講 數(shù)組、字符串_第3頁(yè)
第三講 數(shù)組、字符串_第4頁(yè)
第三講 數(shù)組、字符串_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 n同類型變量或?qū)ο蟮募戏Q為數(shù)組。 n定義:類型名 數(shù)組名元素個(gè)數(shù) q元素個(gè)數(shù)必須是常數(shù)或常量表達(dá)式; q數(shù)組下標(biāo)取值從0開始,使用數(shù)組時(shí)下標(biāo)不能越界; q同一數(shù)組的所有數(shù)組元素在內(nèi)存中占用一片連續(xù)的存儲(chǔ)單元。 n引用:數(shù)組名下標(biāo) q下標(biāo)可以是任何值為整型的表達(dá)式,可以包含變量和函數(shù)調(diào)用; q下標(biāo)值應(yīng)在數(shù)組定義的下標(biāo)值范圍內(nèi)。 n例3.1斐波那契數(shù)列指的是這樣一個(gè)數(shù)列:0、1、1、2、3、 5、8、13、21、求數(shù)列的前20項(xiàng)并按從大到小的順序輸 出。 n初始化:在定義一個(gè)一維數(shù)組的同時(shí),可以給數(shù)組中的元 素賦初值。 n格式:類型名 數(shù)組名常量表達(dá)式=值1,值2, n例如: qint a10

2、=0,1,2,3,4,5,6,7,8,9 q相當(dāng)于:a0=0;a1=1;a2=2;a9=9 n例3.2 輸入年、月、日,輸出該天是這一年的第幾天。 為什么多了一個(gè)0? n例3.3 下面兩個(gè)程序沒(méi)有初始化數(shù)組,觀察程序默認(rèn)的數(shù) 組變量初值。 n如果數(shù)組定義放在int main()之內(nèi),其初始值是隨機(jī)的。 n例3.4 寫出下面程序的運(yùn)行結(jié)果。 n當(dāng)給數(shù)組的部分元素賦初值后,其他元素的初值自動(dòng)賦0值。 n可以使用memset函數(shù)給數(shù)組變量賦初值。 q需要#include 頭文件 n排序:選擇排序、冒泡排序、插入排序、計(jì)數(shù)排序、快排序 n例3.5 輸入n個(gè)數(shù),將n個(gè)數(shù)按從小到大的順序輸出(n=1000

3、) n例3.6 輸入n個(gè)數(shù),存入數(shù)組a中,每一個(gè)數(shù)都是介于0到k 之間的整數(shù),此處k為某個(gè)整數(shù)(n=100000,k=1000), 按從小到大的順序輸出a數(shù)組的數(shù)據(jù)。 n利用C+自帶的庫(kù)函數(shù)進(jìn)行排序 q需要include 頭文件 q格式:sort(first,last,comp),first是待排序數(shù)組的 開始地址,last是結(jié)束地址,是一個(gè)左閉右開區(qū)間,即 first,last),comp函數(shù)是數(shù)組中元素先后次序的判斷 依據(jù)。 n例3.7 從鍵盤讀入10個(gè)數(shù),然后從小到大輸出。 n例3.8 從鍵盤讀入10個(gè)數(shù),然后從大到小輸出。 n例3.9 成績(jī)排序。給出班里某門課程的成績(jī)單,請(qǐng)你按成績(jī)從高

4、到低對(duì) 成績(jī)單排序輸出,如果有相同分?jǐn)?shù)則名字字典序小的在前。 n輸入格式:第一行為n (0 n temp)的功能是 循環(huán)讀入數(shù)據(jù),在讀不到的 時(shí)候停止循環(huán)。 q字符串如何連接? 用“+”連接兩個(gè)字符串。 注意:兩個(gè)字符串常量是不能 用“+”連接的。例:string s=“abc”+“def”; n例3.17 統(tǒng)計(jì)數(shù)字字符個(gè)數(shù)。輸入1行字符,統(tǒng)計(jì)出其中數(shù) 字字符的個(gè)數(shù)。 n輸入格式:1行字符串,總長(zhǎng)度不超過(guò)255。 n輸出格式:輸出為1行,輸出字符串里面數(shù)字字符的個(gè)數(shù)。 n輸入樣例: Peking University is set up at 1898. n輸出樣例: 4 n分析 q讀入1行字

5、符放入一個(gè)字符串變量,再判斷每個(gè)字符是否是數(shù)字。 q如果輸入的1行字符串中有空格,可以用getline函數(shù)讀入, getline函數(shù)默認(rèn)是碰到換行符才結(jié)束。 nstring類型的成員函數(shù): q成員函數(shù)是指某個(gè)類型的特有函數(shù); q成員函數(shù)調(diào)用方式是:變量名.函數(shù)名(參數(shù))。 格 式說(shuō) 明 size()求字符串長(zhǎng)度 substr(開始位置i,子串長(zhǎng)度len) 取字符串的子串,當(dāng)i+len超過(guò)原字符 串長(zhǎng)度時(shí),只取剩下的。 insert(插入位置i,插入字符串s)在字符串的第i個(gè)位置插入s erase(開始位置i,刪除長(zhǎng)度len)刪除字符串的第i個(gè)位置后的len個(gè)字符 replace(開始位置i,長(zhǎng)

6、度len,要 換上的字符串ss) 用字符串ss替換字符串中i開始長(zhǎng)度是 len的一段 find(子串subs)查找子串subs第1次出現(xiàn)的位置 n例3.18 選擇你喜愛(ài)的水果。程序中保存了七種水果的名字,要求用戶輸入 一個(gè)與水果有關(guān)的句子。程序在已存儲(chǔ)的水果名字中搜索,以判斷句子中 是否包含七種水果的名稱。如果包含,則用詞組“Brussels sprouts”替換 句子中出現(xiàn)的水果單詞,并輸出替換后的句子。如果句子中沒(méi)有出現(xiàn)這些 水果的名字,則輸出“You must not enjoy fruit.”。假設(shè)七種水果的名字 為:apples,bananas,peaches,cherries,pe

7、ars,oranges, strawberries。 n輸入格式:有多行,每行是一個(gè)字符串(長(zhǎng)度不超過(guò)200)。每行輸入中只 會(huì)有一個(gè)水果名稱,不會(huì)存在1行輸入包含多種水果名稱或重復(fù)水果名稱的 情況。 n輸出格式:如果包含水果單詞,則用詞組“Brussels sprouts”替換句子中 出現(xiàn)的水果單詞,并輸出替換后的句子。如果句子中沒(méi)有出現(xiàn)這些水果的 名字,則輸出“You must not enjoy fruit.”。 n輸入樣例: I really love peaches on my cereal. Id rather have a candy bar apples are wonderful with lunch n輸出樣例: I really love Brussels sprouts on my cereal. You must not enjoy fruit. Brussels sprouts are wonderful with lunch n例3.19 提取整數(shù)。有1行由小寫

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論