C語言程序設(shè)計(數(shù)組)_第1頁
C語言程序設(shè)計(數(shù)組)_第2頁
C語言程序設(shè)計(數(shù)組)_第3頁
C語言程序設(shè)計(數(shù)組)_第4頁
C語言程序設(shè)計(數(shù)組)_第5頁
已閱讀5頁,還剩152頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)組的概念34數(shù)組的定義及初始化類型說明符數(shù)組名[常量表達(dá)式];inta[5];incharc[20];charc[2][3];floatx[10];floatx[2][3];),數(shù)組的定義及初始化55數(shù)組的定義及初始化如:可寫成:667數(shù)組的引用對數(shù)值型數(shù)組而言,只能逐個引用數(shù)組元素。8n引用形式一維:9數(shù)組的引用數(shù)組和循環(huán)printf("%d",f[i]);數(shù)組下標(biāo)作為循環(huán)變量,通過循環(huán),逐個處理數(shù)組元素}一維數(shù)組的應(yīng)用--求最小值及其下標(biāo)一維數(shù)組的應(yīng)用--求最小值及其下標(biāo)一維數(shù)組的應(yīng)用—交換最小值輸入n(n<10),再輸入n個數(shù),將最小值與第一個數(shù)交換,輸一維數(shù)組的應(yīng)用—選擇法排序33555335811一維數(shù)組的應(yīng)用—選擇法排序一維數(shù)組的應(yīng)用—選擇法排序一維數(shù)組的應(yīng)用—選擇法排序{}一維數(shù)組的應(yīng)用—選擇法排序}}}{}}一維數(shù)組的應(yīng)用—冒泡排序例5-4編程:用冒泡法對10個整數(shù)按從小到大的一維數(shù)組的應(yīng)用—冒泡排序一維數(shù)組的應(yīng)用—冒泡排序一維數(shù)組的應(yīng)用—冒泡排序3次,?。i——掃描輪數(shù),i=1,2,?,n-1j=0,1,?,n-i-1/*冒泡法完成10/*冒泡法完成10個數(shù)由小到大{for(i=0;i<N;i++)for(i=1;i<=N-1;i++)for(j=0;j<=N-i-1;j++)01for(i=0;i<N;i++)}}for(i=0;i<N;i++)for(i=1;i<=N-1;i++)for(j=0;j<=N-i-1;j++)01for(i=0;i<N;i++){{{}}一維數(shù)組的應(yīng)用—數(shù)據(jù)查找例5-5輸入5個整數(shù),將它們存入數(shù)組a中,再輸入1個數(shù)x,917}}一維數(shù)組的應(yīng)用—數(shù)據(jù)查找 }}}一維數(shù)組的應(yīng)用—數(shù)據(jù)查找查找:20一維數(shù)組的應(yīng)用—數(shù)據(jù)查找查找:20一維數(shù)組的應(yīng)用—數(shù)據(jù)查找查找:20b#include<#include<stdio.h>#defineN10{inta[N],m,t,b,i,find,x;/*輸入已排序好的數(shù)列*/for(i=0;i<N;i++)for(i=0;i<N;i++)輸入要查找的數(shù)據(jù)xt=0,b=N-1,find=0m=(t+b)/2m=(t+b)/2001a[m]==x1a[m]==x0a[m]>x10a[m]>x1t=m+1b=m-1t=m+1到了”find=1當(dāng)t<=b&&find==011find==000輸出“沒找到”t=m+11find==000a[m]>x1for(i=0;i<N;i++)t=m+11find==000a[m]>x1for(i=0;i<N;i++)輸入要查找的數(shù)據(jù)xt=0,b=N-1,find=0b=m-1到了”find=1當(dāng)t<=b&&find==0輸出“沒找到”1m=(t+b)/20a[m]==x}“地址”的傳遞“值”的傳遞5#include<stdio.h>}787866778899}例5-7閱讀下列源程序,請總結(jié)其功能。#include<stdio.h> intfmax(intx,inty){}{}練習(xí):對最多100個無序的整數(shù),用折半查找法查找某2.定義search(inta[],intn,intx)完成折半查找。參考源程序#include<stdio.h>for(j=0;j<n;j++)/*實(shí)現(xiàn)n個原始數(shù)據(jù)的輸入*/參考源程序{{for(j=0;j<=n-i-1;j++)}參考源程序voidsearch(inta[],intn,intx)}4.二維數(shù)組應(yīng)用多維數(shù)組的空間想象二維數(shù)組的定義及初始化類型名數(shù)組名[行長度][列長度]二維數(shù)組的定義及初始化n二維數(shù)組的初始化l分行賦初值l順序賦初值l省略行長度staticintb[][3]={{建議不要省略先定義,后使用數(shù)組名[行下標(biāo)][列下標(biāo)]inta[3][2];3行2列,6個元素inta[3][2];二維數(shù)組元素在內(nèi)存中的排列順序二維數(shù)組元素在內(nèi)存中的排列順序a 二維數(shù)組中元素排列的順序是按行存放二維數(shù)組元素在內(nèi)存中的排列順序按行存放二維數(shù)組的元素在數(shù)組中的排列順序可以計算出來,設(shè)一個m×n的數(shù)組x,數(shù)組元素x[i][j]在數(shù)組中的排列順序?yàn)?×4數(shù)組x,元素x[2][2]在數(shù)組的排列順序?yàn)?×4+2+1=11行下標(biāo)和列下標(biāo)分別做為循環(huán)變量,通過二重循環(huán)遍}}}字符串是用一對雙引號括起來若干有效字符的序列。所謂"有效字符"是指系統(tǒng)允許使用的字符。C語言中的字符串可以包括字母,數(shù)字,專用字n對字符串如何處理?C語言中沒有字符串變量,字符串不是存放在一個變量中而是存放在一個字符型數(shù)組中。因此為了存放字符串,常常在程序中定義字符數(shù)組。例如:charc[10];系統(tǒng)對字符串常量自動加一個'\0'作為結(jié)束符。'\0'代表ASCII碼為0的字符,它不是一個可顯示字符,而是一個"空操作字符",它什么也不干,不會產(chǎn)生任何附加操作或增加有效字符,只起一個字符串示例:存儲字符串"VC++6.0"charc[]="VC++6.0";V++6\0c有了結(jié)束標(biāo)志'\0'后,在程序中往往依靠檢測'\0'來判定字符串是否結(jié)束而不是根據(jù)數(shù)組長度來決定字使數(shù)組長度始終保證大于字符串實(shí)際長度。chart[5]={'H','a','p','p','y'};ts用字符數(shù)組處理字符串tschart[5]={'H','a','p','p','y'};HappyHappy\0用字符數(shù)組處理字符串chart[5];“Happy”能存入t嗎?用字符數(shù)組處理字符串第一個'\0'前面的所有字符和'\0'一起構(gòu)成了字符串ssHappy\0??用字符數(shù)組處理字符串普通字符數(shù)組:數(shù)組元素的個數(shù)是確定的,一般用下標(biāo)控制字符串:沒有顯式地給出有效字符的個數(shù),只規(guī)定在字符串用字符數(shù)組處理字符串#include<stdio.h>charstr[80]="Happy";字符串的輸入輸出inti;}字符串的輸入輸出}字符串的輸入輸出整體I/O的格式:scanf("%s",數(shù)組名printf("%s",數(shù)組名字符串的輸入輸出注意:scanf函數(shù)不能完}n字符串連接函數(shù)strcat(字符數(shù)組1,字符數(shù)組2)例如:chars1[12]={"VC"};chars2[]={"++6.0"};printf("%s",strcat(s1,s2));輸出結(jié)果:VC++6.0功能:把字符數(shù)組2存儲的字符串從字符數(shù)組1存儲串的結(jié)尾處開始連接.返值:返回字符數(shù)組1的首地址說明:字符數(shù)組1必須足夠大;#include<string.h>#include<stdio.h>#include<string.h>#include<stdio.h>y[j]=x[k];/*x串連接到y(tǒng)串的尾部*/例如:chars1[12]={"VC"};例5-11:分析下列源程序的功能:#include<string.h>#include<stdio.h>voidmain()intj;}示例:),功能:將指定字符串中所有的大寫字母轉(zhuǎn)換成小寫字母。功能:將指定字符串中所有的小寫字母轉(zhuǎn)換成大寫字母。兩個字符串比較大小,不能用關(guān)系運(yùn)算對任意輸入的五行字符串(每行不超過20個字符),比較大小,輸出其值最小的字符串。intx,min;}}}}minis-1}輸入輸出,其中最后一列用于存放每個學(xué)生的各門課的平均成績,最計算平均成績,其中最后一列用于存放每個學(xué)生的各門課的平均成績,最計算平均成績#include<stdio.h>計算平均成績{{printf("inputthemarkof%dthscanf("%f",&sco

溫馨提示

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

評論

0/150

提交評論