程序設(shè)計-第七章第7章_第1頁
程序設(shè)計-第七章第7章_第2頁
程序設(shè)計-第七章第7章_第3頁
程序設(shè)計-第七章第7章_第4頁
程序設(shè)計-第七章第7章_第5頁
免費預(yù)覽已結(jié)束,剩余67頁可下載查看

付費下載

下載本文檔

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

文檔簡介

第七問題:問題:給一組數(shù)排序,這組數(shù)該如何存放呢11111111111111這88654928 8這88654928

8638631111 181 掌握有關(guān)一維數(shù)組的有關(guān)算掌握數(shù)組的運算一維數(shù)組的定義二維數(shù)組的定義字符數(shù)一維數(shù)組的定義和一維數(shù)組的定義格式為類型說明符數(shù)組名[常量表達式例如:int說明數(shù)組名定名規(guī)則和變量名相同,遵循標(biāo)識例如 intscanf(“%d″,&n);/*在程序中臨時輸入組的大int數(shù)數(shù)組說明中其他常見的錯①float /*組大小為0沒有意義intb(2)(3/*能使用圓括號intka[k]/*能用變量說明數(shù)組大小一維數(shù)組在內(nèi)存中的一維數(shù)組float低地高地

一個元素占4個字.....一維數(shù)組元素的數(shù)組元素的方式例如a[0]=a[5]+a[7]-注意定義數(shù)組時用到的“數(shù)組名[常量表達式]”和引用數(shù)組元素時用到的“數(shù)組名[下標(biāo)]。例如int一維數(shù)組元 的程序?qū)?include<stdio.h>voidmain(){運行結(jié)果如下987654運行結(jié)果如下987654321for(i=9;i>=0;i--)printf("%d″,a[i]);}一維數(shù)組的初始對數(shù)組元素初始化的實現(xiàn)方法在定義數(shù)組時對數(shù)組元素賦以初例如:int可以只給一部分元素賦例如intinta[10]={0,0,0,0,0,0,0,0,0,0};或int不能寫成:int例如:int也可以寫成intinta[10]={1,2,3,4,5};只初始化前5個例7-1:用數(shù)組來處理,求解Fibonacci數(shù)列Fibonacci數(shù)列公式:已知:a1=a2=1an=an-1+an-即#includestdio.h>voidmain(){intint{if(i%5==0)printf(″\/*For循環(huán)結(jié)束

輸出5}/程序 }/程序 112358程序舉例2:程序舉例2:用起泡法對10個數(shù)排序(由小到大)底”。然后進行對余下的前面5個數(shù)第二趟比較,程序流程圖如下#includestdio.h>voidmain(){inta[10];inti,j,t;printf(″input10numbers:\n″);for(i=0;i<10;i++)if{}eaprintf(″thesortea

程序運行結(jié)果如input1010481265-76100-45thesorted}/*程序結(jié)束

-76-45014

1265100二維數(shù)組的定義和二維數(shù)組定義的一般形式[常量表達式][常量表達式];float不能寫float

例如:整型數(shù)組b[3][3{1,2,3},{4,5,6},{7,8,9}地值數(shù)組元123456789float注意:數(shù)組元素在內(nèi)存中的排列順序:第一維的下標(biāo)變化最慢,最右邊的下標(biāo)三維數(shù)組的元素二維數(shù)組的例如a[2-1][2*2-不要寫成a[2,3],a[2-1,2*2-1]形常出現(xiàn)的錯誤int /*義a為3×4的數(shù)組┆二維數(shù)組的1][常量表達式2]={初始化數(shù)據(jù)可以用下面4種方法對二維數(shù)組初始化inta[3][4]={{1,2,3,4},{5,6,7,例如:inta[3][4]={1,2,3,4,5,6,7,8,例如intint1000510005600000010005000900010000600000int例如:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};它等價于:inta[][4]={1,2,省00300000000 省00300000000例如:int例7.4一個二維數(shù)組行和列元素互換,存到另一個#include<stdio.h>voidmain(){

例如:a=12 145 b=23inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf(″arrayfor{for{ 運行結(jié)果如下}printf(″arrayb:\n″);for(i=0;i<=2;i++){

arrayarray

}/*程序結(jié)束例7.5例7.5一個3×4的矩陣,要求編程序求出其中值最大N-S流程圖表示算法如下程序#include<stdio.h>voidmain(){intint{-10,10,-for(i=0;i<=2;i++)for(j=0;j<=3;j++)if }/*程序結(jié)束字符數(shù)字符數(shù)組的定charc[0]=′I′;c[1]=′′;c[2]=′a′;c[3]=′m′;c[4]=′′;c[5]=′h′;c[6]=′a′;charcharc[10]={′c′,′charcharc[]={′I′,′′,′a′,′m′,′′a′,′p′,′p′,′y′};數(shù)組c的長度自動定為10定義和初始化一個二維字符數(shù)charchardiamond[5][5]={{′′,′{′′,′*′,′′,′*′},{′*′,′′,′′,′*′},{′′,′*′,′{′′,′字符數(shù)組的例7.6輸出一個字符串。#include<stdio.h>voidmain(){charc[10]={’I’,’’,’a’,’m’,’’,’a’,’inti;運行結(jié)果運行結(jié)果:Iama}例7.7例7.7#include<stdio.h>voidmain(){chardiamond[][5]={{′′,′′,′*′},{′′,′*′,′′*′},{′*′,′′,′′,′′,′*′},{′′,′*′,′′,′*′},{′′,′int運行結(jié)運行結(jié)** **{for(j=0;j<5;j++) }例如:char例如:char例如charc[]={“Pascalprogram”,從鍵盤向字符數(shù)組輸入∶oolprogram字符數(shù)組的輸入輸出可以有兩種方法

說明例如charstrl[5],str2[5],str3[5];scanf(″%ss%s″,str1,str2,str3);Howare分析圖中所示的字符數(shù)puts函其一般形式puts字符數(shù)"Chinputs(str);China。用puts函數(shù)輸出的字符串中可以包含轉(zhuǎn)義字符。例如:charstr[]={″Chinagets函其一般形式為:gets(字符并且得到一個函數(shù)值。該函數(shù)值是字符數(shù)組的起始地址。如執(zhí)行下面的函數(shù):從鍵盤輸入Computer↙將輸入的字符串"Computer"送說明str的起始地址。一般gets符串,而不大關(guān)心其函數(shù)值。注意:用puts和gets個字符串,不能寫成strcat函其一般形式為:strcat(字符數(shù)組1,字符數(shù)組Strcat21組1——的地址。例如charstr1[30]={″People′sRepubliccharstr2[]={″China″};strcpy函其一般形式為:strcpy(字符數(shù)組1,字符串strcpy是“字符串函數(shù)”。作用是將字符串2到字符數(shù)組1中去。例如:charstr1[10],str2[]={″China″};關(guān)于strcpy函數(shù)的幾點說納被的字符串。字符數(shù)組1的長度不應(yīng)“字符數(shù)組1”必須寫成數(shù)組名形式(如str1),“字符串2”可以是字符數(shù)組名,也可以是一個字符串常量。如strcpy(str1,時連同字符串后面的′\0′一可以用strcpy函數(shù)將字符串2中前面若干個字符到字符數(shù)組1中去。例作用是將str2中前面2個字符到str1中不能用賦值語句將一個字符串常量或字符數(shù)str1=″China″; 用strcpy函數(shù)只能將一個字符串到另一個字用賦值語句只能將一個字符賦給一個字符型變量charc1=′A′;a[0]=′C′;a[1]=′h′;a[2]=′i′;a[3]=′n′;a[4]=′a′;strcmp函比較的結(jié)果由函數(shù)值帶如果字符串1=字符串2,函數(shù)值為0如果字符串1>字符串2,函數(shù)值為一正整數(shù)1<21>str2)yes″而只能if(strcmp(str1,str2)>0)strlen函其一般形式為:strlen(字符數(shù)組stren是測試字符串長度的函數(shù)。函數(shù)的值為字0例如:charstr[10]={″China″};輸出結(jié)果不是10,也不是6,而是5。也可以直接(China);strlwr函其一般形式為:strlwr(字符串strlwr函數(shù)的作用是將字符串中大寫字母換strupr函其一般形式為:strupr(字符串strpr函數(shù)的作用是將字符串中小寫字母換成大寫字母。例7輸入一行字符例7輸入一行字符,統(tǒng)計其中有多少個單詞之間用空格分隔開#include<stdio.h>voidmain(){charinti,num=0,word=0;charc;for(i=0;(c=string[i])!=′\if(c==′′)word=0;elseif(word==0){word=1;}

運行情況如下IamaThereare4wordsintheprintf(″Thereare%dwordsinthe}例7.9例7.9有3voidmain

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論