第6章 利用數(shù)組處理批量數(shù)據(jù)_第1頁
第6章 利用數(shù)組處理批量數(shù)據(jù)_第2頁
第6章 利用數(shù)組處理批量數(shù)據(jù)_第3頁
第6章 利用數(shù)組處理批量數(shù)據(jù)_第4頁
第6章 利用數(shù)組處理批量數(shù)據(jù)_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、4 4學(xué)時(shí)學(xué)時(shí)第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 本章主要內(nèi)容:本章主要內(nèi)容: 1. 1. 一維數(shù)組一維數(shù)組 2. 2. 二維數(shù)組二維數(shù)組 3. 3. 字符數(shù)組字符數(shù)組2/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 在在C C語言中,語言中,類型一致類型一致的一組數(shù)據(jù)按的一組數(shù)據(jù)按順序順序存放在一起就形成存放在一起就形成了了數(shù)組數(shù)組,是一種派生數(shù)據(jù)類型,數(shù)組中的每一個(gè)數(shù)據(jù)稱為,是一種派生數(shù)據(jù)類型,數(shù)組中的每一個(gè)數(shù)據(jù)稱為元素元素,數(shù)組有一個(gè)名字,稱為數(shù)組有一個(gè)名字,稱為數(shù)組名數(shù)組名,數(shù)組中的每個(gè)元素在數(shù)組中有,數(shù)組中的每個(gè)元素在數(shù)組中有一個(gè)序號(hào),稱為該元素

2、在數(shù)組中的一個(gè)序號(hào),稱為該元素在數(shù)組中的下標(biāo)下標(biāo)。在程序中,通過數(shù)組。在程序中,通過數(shù)組名和下標(biāo)可以訪問到相應(yīng)的元素,其中下標(biāo)可以用變量來表示,名和下標(biāo)可以訪問到相應(yīng)的元素,其中下標(biāo)可以用變量來表示,因此,數(shù)組經(jīng)常與循環(huán)結(jié)構(gòu)中的循環(huán)變量配合使用。因此,數(shù)組經(jīng)常與循環(huán)結(jié)構(gòu)中的循環(huán)變量配合使用。 要使用數(shù)組,必須在程序中要使用數(shù)組,必須在程序中預(yù)先定義預(yù)先定義,通知計(jì)算機(jī)數(shù)組名,通知計(jì)算機(jī)數(shù)組名字是什么,包含多少個(gè)元素,這些元素屬于哪種數(shù)據(jù)類型。字是什么,包含多少個(gè)元素,這些元素屬于哪種數(shù)據(jù)類型。3/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 本章主要內(nèi)容:本章主要內(nèi)容: 1.

3、1. 一維數(shù)組一維數(shù)組 2. 2. 二維數(shù)組二維數(shù)組 3. 3. 字符數(shù)組字符數(shù)組4/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)一、一維數(shù)組一、一維數(shù)組1.1.一維數(shù)組的定義一維數(shù)組的定義 (1 1)一般形式:)一般形式: 類型符類型符 數(shù)組名數(shù)組名 常量表達(dá)式常量表達(dá)式 ; 例如:例如:int a10; (2 2)說明:)說明: 類型可以是基本類型,也可以是其他派生類型。類型可以是基本類型,也可以是其他派生類型。 數(shù)組名的命名規(guī)則和變量名相同,必須是標(biāo)識(shí)符。數(shù)組名的命名規(guī)則和變量名相同,必須是標(biāo)識(shí)符。 5/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 定義數(shù)

4、組時(shí),用方括中的常量表達(dá)式規(guī)定元素的個(gè)數(shù),定義數(shù)組時(shí),用方括中的常量表達(dá)式規(guī)定元素的個(gè)數(shù), 即數(shù)組的長度,數(shù)組下標(biāo)從即數(shù)組的長度,數(shù)組下標(biāo)從0 0開始。開始。 例如:例如:int a10; 注意:數(shù)組元素為注意:數(shù)組元素為a0a9,共,共10個(gè),不存在元素個(gè),不存在元素a10, 括號(hào)必須是括號(hào)必須是方括號(hào)方括號(hào),不允許使用圓括號(hào)。,不允許使用圓括號(hào)。 定義數(shù)組時(shí),其長度必須用常量來表示,不允許使用變量或定義數(shù)組時(shí),其長度必須用常量來表示,不允許使用變量或 包含變量的表達(dá)式。包含變量的表達(dá)式。6/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)2.2.一維數(shù)組元素的引用一維數(shù)組元素的

5、引用 定義完數(shù)組并對其中各元素賦值后,即可引用數(shù)組元素。定義完數(shù)組并對其中各元素賦值后,即可引用數(shù)組元素。 引用數(shù)組元素的表示形式引用數(shù)組元素的表示形式: 數(shù)組名數(shù)組名 下標(biāo)下標(biāo) 數(shù)組元素在程序中的作用等同于一般的變量。數(shù)組元素在程序中的作用等同于一般的變量。 注意:在注意:在C C語言中,系統(tǒng)不檢查下標(biāo)是否越界!語言中,系統(tǒng)不檢查下標(biāo)是否越界! 例例6.1 對對10個(gè)數(shù)組元素依次賦值為個(gè)數(shù)組元素依次賦值為0,1,2,3,4,5,6,7,8,9, 要求按逆序輸出。要求按逆序輸出。7/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 8/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)

6、組處理批量數(shù)據(jù)#include int main() int i,a10; for (i=0; i=0; i-) printf(%4d,ai); printf(n); return 0; 9/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)3.3.一維數(shù)組初始化一維數(shù)組初始化 在定義數(shù)組的同時(shí),為數(shù)組元素賦初值,稱為數(shù)組初始化。在定義數(shù)組的同時(shí),為數(shù)組元素賦初值,稱為數(shù)組初始化。(1)在定義數(shù)組時(shí)對全部數(shù)組元素賦初值。在定義數(shù)組時(shí)對全部數(shù)組元素賦初值。 int a10=0,1,2,3,4,5,6,7,8,9;(2)可以只給數(shù)組中的一部分元素賦初值。可以只給數(shù)組中的一部分元素賦初值。

7、 int a10=0,1,2;10/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)(3)可以把數(shù)組全部元素賦初值為可以把數(shù)組全部元素賦初值為0。 int a10=0,0,0,0,0,0,0,0,0,0; 或或 int a10=0; (4)對全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長度。對全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長度。 int a5=1,2,3,4,5; 可以寫成:可以寫成: int a =1,2,3,4,5;(5)在程序執(zhí)行過程中,在程序執(zhí)行過程中,只能只能引用數(shù)組元素而引用數(shù)組元素而不能不能一次整體一次整體 調(diào)用整個(gè)數(shù)組全部元素的值調(diào)用整個(gè)數(shù)組全部元素的值。 int a

8、5; a5=1,2,3,4,5;或或a =1,2,3,4,5;均不正確。;均不正確。11/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)4.4.一維數(shù)組程序舉例一維數(shù)組程序舉例例例6.2 6.2 利用數(shù)組求利用數(shù)組求FibonacciFibonacci數(shù)列前數(shù)列前2020項(xiàng)。項(xiàng)。12/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)#include int main() int i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i20;i+) if(i%5=0) printf(“n”); printf(“%12

9、d”,fi); printf(n); return 0;13/72思考題:思考題:1.有關(guān)回車的問題有關(guān)回車的問題有無好的解決辦法有無好的解決辦法?2.如果用如果用f1到到f20存放數(shù)據(jù),程序如存放數(shù)據(jù),程序如何修改?何修改?第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)例例6.3 6.3 對對1010個(gè)數(shù)按照從小到大的順序排序。個(gè)數(shù)按照從小到大的順序排序。 排序的方法有很多上,本例采用的是排序的方法有很多上,本例采用的是“起泡法起泡法”,也稱為,也稱為 “ “冒泡法冒泡法”,基本思路是:每次將相鄰兩個(gè)數(shù)比較,將小的,基本思路是:每次將相鄰兩個(gè)數(shù)比較,將小的 調(diào)到前面。調(diào)到前面。14

10、/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 15/72985420895420859420854920854290854209a0a1a2a3a4a5大數(shù)大數(shù)沉淀,沉淀,小數(shù)小數(shù)起泡起泡以上稱為第一趟起泡,以上稱為第一趟起泡,6 6個(gè)數(shù)進(jìn)個(gè)數(shù)進(jìn)行了行了5 5次比較,推廣開來,次比較,推廣開來,7 7個(gè)數(shù)個(gè)數(shù)需進(jìn)行需進(jìn)行6 6次比較,次比較,1010個(gè)需進(jìn)行個(gè)需進(jìn)行9 9次次比較,比較,n n個(gè)數(shù)需進(jìn)行個(gè)數(shù)需進(jìn)行n-1n-1次比較。次比較。for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; 第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 16/7

11、2854209584209548209542809542089a0a1a2a3a4a5第二趟起泡,第二趟起泡,6 6個(gè)數(shù)中,最后一個(gè)數(shù)中,最后一個(gè)數(shù)已是最大,無需再參與比較,個(gè)數(shù)已是最大,無需再參與比較,因此本趟起泡只有因此本趟起泡只有5 5個(gè)數(shù)參與,個(gè)數(shù)參與,共需比較共需比較4 4次。次。for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; 第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 17/72542089452089425089420589a0a1a2a3a4a5第三趟起泡,第三趟起泡,6 6個(gè)數(shù)中,最后兩個(gè)數(shù)中,最后兩個(gè)數(shù)已是最大,無需再參與比較,個(gè)數(shù)已是

12、最大,無需再參與比較,因此本趟起泡只有因此本趟起泡只有4 4個(gè)數(shù)參與,個(gè)數(shù)參與,共需比較共需比較3 3次。次。for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; 第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 18/72420589240589204589a0a1a2a3a4a5第四趟起泡,第四趟起泡,6 6個(gè)數(shù)中,最后三個(gè)數(shù)中,最后三個(gè)數(shù)已是最大,無需再參與比較,個(gè)數(shù)已是最大,無需再參與比較,因此本趟起泡只有因此本趟起泡只有3 3個(gè)數(shù)參與,個(gè)數(shù)參與,共需比較共需比較2 2次。次。for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; 第第6 6章

13、章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 19/72204589024589a0a1a2a3a4a5第五趟起泡,第五趟起泡,6 6個(gè)數(shù)中,最后四個(gè)數(shù)中,最后四個(gè)數(shù)已是最大,無需再參與比較,個(gè)數(shù)已是最大,無需再參與比較,因此本趟起泡只有因此本趟起泡只有2 2個(gè)數(shù)參與,個(gè)數(shù)參與,共需比較共需比較1 1次。次。for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; 20/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)#include int main() int a6=9,8,5,4,2,0; int i,j,t; for(j=0;j5;j+) for(i=0;ia

14、i+1) t=ai;ai=ai+1;ai+1=t; for(i=0;i6;i+) printf(%3d ,ai); return 0; 21/72思考題:思考題:1.將待序的數(shù)增加至將待序的數(shù)增加至10個(gè)。個(gè)。2.將待排序的將待排序的10個(gè)數(shù)從鍵盤輸入。個(gè)數(shù)從鍵盤輸入。3.將待排序的數(shù)從數(shù)組的第將待排序的數(shù)從數(shù)組的第1個(gè)元素個(gè)元素 (a1)開始存放,如何調(diào)整開始存放,如何調(diào)整i,j的值?的值?4.將待排序的數(shù)按降序排序。將待排序的數(shù)按降序排序。第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)關(guān)于起泡法排序的關(guān)于起泡法排序的總結(jié)總結(jié): n n個(gè)數(shù)進(jìn)行排序,需要進(jìn)行個(gè)數(shù)進(jìn)行排序,需要進(jìn)行n

15、-1n-1趟起泡,第趟起泡,第j j趟起泡需要進(jìn)趟起泡需要進(jìn) 行行n-jn-j次比較。次比較。 關(guān)于循環(huán)變量的取值變化情況:關(guān)于循環(huán)變量的取值變化情況: i i控制比較次數(shù)(內(nèi)層循環(huán)),用控制比較次數(shù)(內(nèi)層循環(huán)),用j j控制起泡的趟數(shù)(外層控制起泡的趟數(shù)(外層 循環(huán)),對循環(huán)),對n n個(gè)數(shù)進(jìn)行排序:個(gè)數(shù)進(jìn)行排序: 若若i,ji,j均從均從0 0開始,則:開始,則: j j的范圍是:的范圍是:0,n-1)0,n-1),i i的范圍是:的范圍是:0,n-1-j)0,n-1-j)。 若若i,ji,j均從均從1 1開始,則:開始,則: j j的范圍是:的范圍是:1,n)1,n),i i的范圍是:的

16、范圍是:1,n+1-j)1,n+1-j)。22/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 本章主要內(nèi)容:本章主要內(nèi)容: 1. 1. 一維數(shù)組一維數(shù)組 2. 2. 二維數(shù)組二維數(shù)組 3. 3. 字符數(shù)組字符數(shù)組23/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)二、二維數(shù)組二、二維數(shù)組 矩陣在計(jì)算機(jī)里用二維數(shù)組表示。矩陣在計(jì)算機(jī)里用二維數(shù)組表示。1.1.二維數(shù)組的定義二維數(shù)組的定義 (1 1)一般形式:)一般形式: 類型說明符類型說明符 數(shù)組名數(shù)組名 常量表達(dá)式常量表達(dá)式常量表達(dá)式常量表達(dá)式 ; 例如:例如: float a34; (2 2)說明:)說明: 二維

17、數(shù)組定義時(shí)要用兩個(gè)方括號(hào)二維數(shù)組定義時(shí)要用兩個(gè)方括號(hào)。 例如:例如: float a34; 不能寫成:不能寫成:float a3,4;24/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 注意二維數(shù)組中維數(shù)與下標(biāo)的關(guān)系。注意二維數(shù)組中維數(shù)與下標(biāo)的關(guān)系。 例如:例如:float a34; 表示名稱為表示名稱為a的的3行行4列二維數(shù)組,列二維數(shù)組, 行下標(biāo)范圍是行下標(biāo)范圍是02,列下標(biāo)范圍是,列下標(biāo)范圍是03。25/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 由于由于內(nèi)存的地址是線性的內(nèi)存的地址是線性的,二維數(shù)組在內(nèi)存中也是線性存,二維數(shù)組在內(nèi)存中也是線性存 儲(chǔ)的,

18、在儲(chǔ)的,在C語言中,遵循語言中,遵循行優(yōu)先的原則行優(yōu)先的原則,即,即先存儲(chǔ)第先存儲(chǔ)第0行行 的元素,接著存儲(chǔ)第的元素,接著存儲(chǔ)第1行的元素行的元素,。二維數(shù)組的這種存。二維數(shù)組的這種存 儲(chǔ)格式將在第儲(chǔ)格式將在第8章指針部分得到進(jìn)一步的應(yīng)用。章指針部分得到進(jìn)一步的應(yīng)用。 26/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 27/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)2.2.二維數(shù)組元素的引用二維數(shù)組元素的引用 二維數(shù)組元素的表示形式:二維數(shù)組元素的表示形式:數(shù)組名數(shù)組名 下標(biāo)下標(biāo)下標(biāo)下標(biāo) 引用二維數(shù)組元素時(shí)同一維數(shù)組一樣,要注意下標(biāo)的變化情引用二維數(shù)組元素時(shí)

19、同一維數(shù)組一樣,要注意下標(biāo)的變化情 況,從況,從0 0開始,且不能越界。開始,且不能越界。 int x67; 元素:元素:x00 x56 區(qū)分定義時(shí)的區(qū)分定義時(shí)的 “int a34;” 與與 引用時(shí)引用時(shí) a34;28/72二維數(shù)組是二維數(shù)組是3行行4列的列的第第3行第行第4列元素的下標(biāo)列元素的下標(biāo)第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)3.3.二維數(shù)組初始化二維數(shù)組初始化(1 1)分行給二維數(shù)組賦初值。分行給二維數(shù)組賦初值。 int a34=1,2,3,4,5,6,7,8,9,10,11,12; 按行賦初值:第按行賦初值:第1個(gè)花括號(hào)內(nèi)的數(shù)據(jù)賦給第個(gè)花括號(hào)內(nèi)的數(shù)據(jù)賦給第0行的

20、元素,行的元素, 第第2個(gè)花括號(hào)內(nèi)的數(shù)據(jù)賦給第個(gè)花括號(hào)內(nèi)的數(shù)據(jù)賦給第1行的元素,行的元素, 。(2 2)把所有數(shù)據(jù)寫在一個(gè)花括號(hào)內(nèi)把所有數(shù)據(jù)寫在一個(gè)花括號(hào)內(nèi),按數(shù)組元素在內(nèi)存中的,按數(shù)組元素在內(nèi)存中的 排列順序?qū)Ω髟刭x初值。排列順序?qū)Ω髟刭x初值。 int a34=1,2,3,4,5,6,7,8,9,10,11,12; 注意:別遺漏數(shù)據(jù),造成錯(cuò)位。注意:別遺漏數(shù)據(jù),造成錯(cuò)位。29/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)(3)(3)對部分元素賦初值。對部分元素賦初值。30/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)(4 4)對全部元素賦初值,定義數(shù)組時(shí)第

21、)對全部元素賦初值,定義數(shù)組時(shí)第1 1維維的長度可以的長度可以不指不指 定定,但,但第第2 2維維的長度的長度不能省略不能省略。 int a34=1,2,3,4,5,6,7,8,9,10,11,12; 等價(jià)于:等價(jià)于: int a 4=1,2,3,4,5,6,7,8,9,10,11,12; 31/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)4.4.二維數(shù)組程序舉例二維數(shù)組程序舉例 例例6.4 6.4 將一個(gè)二維數(shù)組行和列的元素互換,存到另一個(gè)二維將一個(gè)二維數(shù)組行和列的元素互換,存到另一個(gè)二維 數(shù)組中。數(shù)組中。 32/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)

22、33/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 34/72思考題:思考題:1. 鋸齒形的格式影響程序運(yùn)行嗎?鋸齒形的格式影響程序運(yùn)行嗎?2. for(i=0;i=1;i+) 與與 for(i=0;i 字符串字符串2 2,則函數(shù)值為一個(gè),則函數(shù)值為一個(gè)正整數(shù)正整數(shù)。 如果字符串如果字符串1 1 字符串字符串2 2,則函數(shù)值為一個(gè),則函數(shù)值為一個(gè)負(fù)整數(shù)負(fù)整數(shù)。 關(guān)于返回值的補(bǔ)充說明:關(guān)于返回值的補(bǔ)充說明: 在在VCVC中,返回中,返回0 0、1 1、-1-1;而在;而在TCTC中,返回中,返回0 0、對應(yīng)的不相同字、對應(yīng)的不相同字 符符ASCIIASCII碼的差值。由于不同的編

23、譯器規(guī)定不同,對于碼的差值。由于不同的編譯器規(guī)定不同,對于strcmpstrcmp 的返回值,的返回值,通常只判斷其等于通常只判斷其等于0 0,大于,大于0 0,或小于,或小于0 0即可即可。 例如:例如:strcmp(”abcf”,”abcd”); 在在VCVC中返回中返回1 1,在,在TCTC中返回中返回2 2。57/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)(7 7)strlen函數(shù)函數(shù)-測試字符串長度的函數(shù),測試字符串長度的函數(shù),string length 一般形式:一般形式:strlen( (字符數(shù)組字符數(shù)組) ) 作用:測試字符串的長度。作用:測試字符串的長度。

24、返回值:字符串的實(shí)際長度(不包括返回值:字符串的實(shí)際長度(不包括0在內(nèi))在內(nèi)) char str10=“China”; printf(“%d”,strlen(str); 58/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)(8 8)strlwr函數(shù)函數(shù)-轉(zhuǎn)換為小寫的函數(shù),轉(zhuǎn)換為小寫的函數(shù),string lowercase 一般形式:一般形式:strlwr( (字符串字符串) ) 返回值:全部都是小寫字母的字符串(非字母不變)。返回值:全部都是小寫字母的字符串(非字母不變)。 說明:說明:在在VC中中strlwr后面的參數(shù)后面的參數(shù)只能放數(shù)組名只能放數(shù)組名, 而而在在TC中中,數(shù)組

25、名和字符串均可數(shù)組名和字符串均可。 char str10=“AbCDeF23” printf(“%s”,strlwr(str); 59/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)(9 9)strupr函數(shù)函數(shù)-轉(zhuǎn)換為大寫的函數(shù),轉(zhuǎn)換為大寫的函數(shù),string uppercase 一般形式:一般形式:strupr( (字符串字符串) ) 返回值:全部都是大寫字母的字符串(非字母不變)。返回值:全部都是大寫字母的字符串(非字母不變)。 說明:說明:在在VC中中strupr后面的參數(shù)后面的參數(shù)只能放數(shù)組名只能放數(shù)組名, 而而在在TC中中,數(shù)組名和字符串均可數(shù)組名和字符串均可。 ch

26、ar str10=“AbCDeF23” printf(“%s”,strupr(str);60/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)前面共介紹了前面共介紹了9 9個(gè)字符串處理函數(shù):個(gè)字符串處理函數(shù): gets,puts: 在文件的開頭用在文件的開頭用 #include strcat,strcpy,strncpy,strcmp,strlen,strlwr,strupr: 在文件的開頭用在文件的開頭用 #include 61/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)5.5.字符數(shù)組應(yīng)用舉例字符數(shù)組應(yīng)用舉例例例6.8 6.8 輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單

27、詞。輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞。 (單詞之間用空格分開)(單詞之間用空格分開)思路:思路:(1 1)先找到)先找到第一個(gè)非空格字符第一個(gè)非空格字符,作為作為一個(gè)單詞的一個(gè)單詞的開始開始, 計(jì)數(shù)計(jì)數(shù)1 1次次;(2 2)再次碰到)再次碰到空格空格或或0,當(dāng)前,當(dāng)前單詞結(jié)束單詞結(jié)束。62/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 63/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 64/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù) 65/72第第6 6章章 利用數(shù)組處理批量數(shù)據(jù)利用數(shù)組處理批量數(shù)據(jù)作業(yè):作業(yè):用篩法求用篩法求100100之

28、內(nèi)的素?cái)?shù)。之內(nèi)的素?cái)?shù)。篩法,是求不超過自然數(shù)篩法,是求不超過自然數(shù)N N(N N1 1)的所有素?cái)?shù)的一種方法。據(jù))的所有素?cái)?shù)的一種方法。據(jù)說是古希臘的說是古希臘的埃拉托斯特尼埃拉托斯特尼(約公元前(約公元前274274194194年)發(fā)明的,年)發(fā)明的,又稱埃拉托斯特尼篩法。又稱埃拉托斯特尼篩法。具體做法是:先把具體做法是:先把N N個(gè)自然數(shù)按次序排列起來。個(gè)自然數(shù)按次序排列起來。1 1不是素?cái)?shù),也不是素?cái)?shù),也不是合數(shù),不是合數(shù),要?jiǎng)澣ヒ獎(jiǎng)澣ァ5诙€(gè)數(shù)。第二個(gè)數(shù)2 2是素?cái)?shù)留下來是素?cái)?shù)留下來,而把,而把2 2后面所有后面所有能被能被2 2整除的數(shù)都劃去整除的數(shù)都劃去。2 2后面第一個(gè)沒劃去的數(shù)是后面第一個(gè)沒劃去的數(shù)是3 3,把,把3 3留下留下,再把,再把3 3后面所有后面所有能被能被3 3整除的數(shù)都劃去整除

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論