C語言第五章課件_第1頁
C語言第五章課件_第2頁
C語言第五章課件_第3頁
C語言第五章課件_第4頁
C語言第五章課件_第5頁
已閱讀5頁,還剩391頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設計基礎第五章數(shù)組...C語言程序設計基礎第五章數(shù)組...1本節(jié)提要一維數(shù)組二維數(shù)組字符數(shù)組...本節(jié)提要一維數(shù)組...2數(shù)組數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每一個元素都屬于同一個數(shù)據(jù)類型。數(shù)組屬于構(gòu)造數(shù)據(jù)類型,構(gòu)造類型數(shù)據(jù)是由基本類型按照一定規(guī)則組成的,因此也稱“導出類型”。...數(shù)組數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每一個元素都屬于同一個數(shù)據(jù)3a[1]a[2]a[3]a[4]a[0]2個字節(jié)inta[5];2個字節(jié)2個字節(jié)……a...a[1]a[2]a[3]a[4]a[0]2個字節(jié)inta[45.1一維數(shù)組的定義和引用一維數(shù)組的定義:類型說明符數(shù)組名[常量表達式];基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型常量,表示數(shù)組元素的個數(shù),也稱為數(shù)組的長度...5.1一維數(shù)組的定義和引用一維數(shù)組的定義:基本數(shù)據(jù)類型或構(gòu)5inta[10];聲明整型數(shù)組a,有10個元素。floatb[10];

聲明實型數(shù)組b,有10個元素

charch[20];聲明字符數(shù)組ch,有20個元素。...inta[10];...6main(){inta;floata[10];……}在同一作用范圍內(nèi),數(shù)組名、函數(shù)名、變量名不能相重。...main()在同一作用范圍內(nèi),數(shù)組名、函數(shù)名、變量名不能相重7聲明數(shù)組時,數(shù)組的大小必須使用常量表達式,不可以用變量表示。main(){intn=5;inta[n];……}...聲明數(shù)組時,數(shù)組的大小必須使用常量表達式,不可以用變量表示。8允許在同一個類型說明中,說明多個數(shù)組和多個變量。inta,b,c,k1[10],k2[20];...允許在同一個類型說明中,說明多個數(shù)組和多個變量。...95.1.2一維數(shù)組元素的引用形式:數(shù)組名[下標]下標代表元素的順序號,順序號從0開始計起。...5.1.2一維數(shù)組元素的引用形式:...10inta[10];數(shù)組的元素分別為:a[0]、a[1]、a[2]…a[8]、a[9]...inta[10];...11數(shù)組a內(nèi)存分配圖a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a數(shù)組首地址存放在數(shù)組名a中2個字節(jié)…2個字節(jié)2個字節(jié)…...數(shù)組a內(nèi)存分配圖a[0]a數(shù)組首地址存放在數(shù)組名a中2個字節(jié)12注意[]數(shù)組在定義時,[]內(nèi)表示數(shù)組的大小,必須是常量。數(shù)組在使用時,[]內(nèi)表示某一元素的下標,可以使常量,也可以是下標變量。...注意[]數(shù)組在定義時,[]內(nèi)表示數(shù)組的大小,必須是常量。..13元素的引用C語言規(guī)定,只能逐個使用數(shù)組元素,不能一次引用整個數(shù)組。例如,輸出數(shù)組a各元素內(nèi)容。

for(i=0;i<10;i++)printf("%d",a[i]);...元素的引用C語言規(guī)定,只能逐個使用數(shù)組元素,不能一次引用整個14例5.1將0~9十個數(shù)順序存入一整型數(shù)組中,再逆序輸出。...例5.1將0~9十個數(shù)順序存入一整型數(shù)組中,再逆序輸出。.15main(){inti,a[10];for(i=0;i<=9;i++)

a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);}...main()...16main(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);}...main()...17例5.2將從1起的連續(xù)十個奇數(shù)順序存入一數(shù)組,再順序輸出。...例5.2將從1起的連續(xù)十個奇數(shù)順序存入一數(shù)組,再順序輸出。18main(){inti,a[10];

for(i=0;i<10;)

a[i++]=2*i+1;for(i=0;i<=9;i++)printf("%d",a[i]);printf("\n%d\n",a[5.2]);}...main()...19main(){inti,a[10];for(i=0;i<10;)

a[i++]=2*i+1;

for(i=0;i<=9;i++)printf("%d",a[i]);printf("\n%d\n",a[5.2]);}...main()...20main(){inti,a[10];for(i=0;i<10;)

a[i++]=2*i+1;for(i=0;i<=9;i++)printf("%d",a[i]);

printf("\n%d\n",a[5.2]);}...main()...215.1.3一維數(shù)組的初始化給數(shù)組賦值的方法:數(shù)組元素逐個賦值數(shù)組初始化賦值數(shù)組動態(tài)賦值...5.1.3一維數(shù)組的初始化給數(shù)組賦值的方法:...22數(shù)組初始化賦值:指在數(shù)組定義時給數(shù)組元素賦予初值。數(shù)組動態(tài)賦值:通過鍵盤的數(shù)值輸入,對數(shù)組元素的賦值。...數(shù)組初始化賦值:指在數(shù)組定義時給數(shù)組元素賦予初值。...23數(shù)組動態(tài)賦值inta[10],i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);...數(shù)組動態(tài)賦值inta[10],i;...24數(shù)組初始化賦值inta[10]={0,1,2,3,4,5,6,7,8,9};相當于:inta[10];a[0]=0;a[1]=1;...a[9]=9;...數(shù)組初始化賦值inta[10]={0,1,2,3,4,525說明

inta[10]={0,1,2,3,4};部分賦值。表示只給a[0]~a[4]賦值,而剩余元素自動賦0值。...說明inta[10]={0,1,2,3,4};部分賦值26inta[5]={1,1,1,1,1};不能寫為:

inta[5]=1;初值要逐個書寫。...inta[5]={1,1,1,1,1};初值要逐個書寫。27inta[5]={1,2,3,4,5};可寫為:inta[

]={1,2,3,4,5};全部元素賦值時,可省略說明數(shù)組長度。...inta[5]={1,2,3,4,5};可寫為:全部元素賦285.1.4一維數(shù)組程序舉例例5.3數(shù)組動態(tài)賦值。輸入十個數(shù)存入數(shù)組,求出其中最大數(shù)。...5.1.4一維數(shù)組程序舉例例5.3數(shù)組動態(tài)賦值。輸入十29main(){inti,max,a[10];printf("input10numbers:\n");

for(i=0;i<10;i++)scanf("%d",&a[i]);max=a[0];for(i=1;i<10;i++)if(a[i]>max)max=a[i];

printf("max=%d\n",max);}...main()...30main(){inti,max,a[10];printf("input10numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);

max=a[0];

for(i=1;i<10;i++)if(a[i]>max)max=a[i];

printf("max=%d\n",max);}...main()...31例5.4

選擇排序。輸入十個整數(shù),按從大到小的順序輸出。...例5.4選擇排序。輸入十個整數(shù),按從大到小的順序輸出。..32a[0]~a[9]pipp...a[0]~a[9]pipp...33pippa[1]~a[9]...pippa[1]~a[9]...34a[0]~a[9]pi...a[0]~a[9]pi...35main(){inti,j,p,q,s,a[10];

for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){p=i;q=a[i];for(j=i+1;j<10;j++)if(a[j]>q){p=j;q=a[j];}if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}}...main()...36main(){inti,j,p,q,s,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);

for(i=0;i<10;i++)

{p=i;q=a[i];for(j=i+1;j<10;j++)if(a[j]>q){p=j;q=a[j];}if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);

}}...main()...37for(i=0;i<10;i++){

p=i;q=a[i];for(j=i+1;j<10;j++)if(a[j]>q){p=j;q=a[j];}if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}祥解...for(i=0;i<10;i++)祥解...38for(i=0;i<10;i++){

p=i;q=a[i];

for(j=i+1;j<10;j++)if(a[j]>q){p=j;q=a[j];}if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}祥解...for(i=0;i<10;i++)祥解...39for(i=0;i<10;i++){p=i;q=a[i];for(j=i+1;j<10;j++)if(a[j]>q){p=j;q=a[j];}

if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}祥解...for(i=0;i<10;i++)祥解...40for(i=0;i<10;i++){p=i;q=a[i];for(j=i+1;j<10;j++)if(a[j]>q){p=j;q=a[j];}if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf("%d,",a[i]);}祥解...for(i=0;i<10;i++)祥解...41for(i=0;i<10;i++){p=i;

for(j=i+1;j<10;j++)if(a[j]>a[p])p=j;if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}改進...for(i=0;i<10;i++)改進...425.2二維數(shù)組的定義和引用二維數(shù)組的定義:類型說明符數(shù)組名[常量表達式][常量表達式]第一維的長度

第二維的長度

...5.2二維數(shù)組的定義和引用二維數(shù)組的定義:第一維的長度第43inta[3][4];...inta[3][4];...445.2.2二維數(shù)組元素的引用二維數(shù)組元素的表示形式為:數(shù)組名[行下標][列下標]行下標、列下標都從0計起,例如inta[3][4];數(shù)組a的行下標最大為2,列下標值最大為3。...5.2.2二維數(shù)組元素的引用二維數(shù)組元素的表示形式為:..45a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]inta[3][4];...a[0][0]a[0][1]a[0][2]a[0][3]a[46a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a數(shù)組a在內(nèi)存中存儲第0行第1行...a[0][0]a[0][1]a[0][2]a[0][3]a[47例5.5一個學習小組有5個人,每個人有3門課的考試成績。求全組分科的平均成績和各科總平均成績。...例5.5一個學習小組有5個人,每個人有3門課的考試成績。48張三王二李四趙七周六數(shù)學8061598576C語言7565638777VFP9271709085????...張三王二李四趙七周六數(shù)學8061598576C語言7565649main(){inti,j,s=0,average;intv[3],a[3][5];printf("inputscore\n");for(i=0;i<3;i++){for(j=0;j<5;j++){scanf("%d",&a[i][j]);s=s+a[i][j];}v[i]=s/5;s=0;}...main()...50main(){inti,j,s=0,average;intv[3],a[3][5];printf("inputscore\n");

for(i=0;i<3;i++)

{

for(j=0;j<5;j++){scanf("%d",&a[i][j]);s=s+a[i][j];}v[i]=s/5;s=0;

}...main()...51average=(v[0]+v[1]+v[2])/3;輸出打印v[0]~v[2];輸出打印average;}...average=(v[0]+v[1]+v[2])/3;...525.2.3二維數(shù)組的初始化規(guī)則:按行賦值。①按行分段賦值inta[3][2]={{1,2},{5,6},{9,10}};②按行連續(xù)賦值

inta[3][2]={1,2,5,6,9,10};...5.2.3二維數(shù)組的初始化規(guī)則:按行賦值。...53說明只對部分元素賦初值,其余元素自動為0。inta[3][3]={{1},{2},{3}};100200300...說明只對部分元素賦初值,其余元素自動為0。100...54如對全部元素賦初值,則第一維的長度可以省略。例如:inta[2][3]={1,2,3,4,5,6};可以寫為:inta[

][3]={1,2,3,4,5,6};...如對全部元素賦初值,則第一維的長度可以省略。...555.2.4二維數(shù)組程序舉例例5.6設有數(shù)組inta[3][3]。給該數(shù)組動態(tài)賦值,然后按行輸出。...5.2.4二維數(shù)組程序舉例例5.6設有數(shù)組inta[56main(){inta[3][3],i,j;for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf("%d",&a[i][j]);for(i=0;i<=2;i++){for(j=0;j<=2;j++)printf("%4d",a[i][j]);printf("\n");}}...main()...57main(){inta[3][3],i,j;for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf("%d",&a[i][j]);for(i=0;i<=2;i++){for(j=0;j<=2;j++)printf("%4d",a[i][j]);printf("\n");}}...main()...58main(){inta[3][3],i,j;for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf("%d",&a[i][j]);for(i=0;i<=2;i++)

{for(j=0;j<=2;j++)printf("%4d",a[i][j]);

printf("\n");

}}...main()...59main(){inta[3][3],i,j;for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf("%d",&a[i][j]);for(i=0;i<=2;i++)

{for(j=0;j<=2;j++)printf("%4d",a[i][j]);printf("\n");

}}...main()...60例5.7求一個N×N矩陣對角線元素之和。a[i][i]0≤i≤N-1...例5.7求一個N×N矩陣對角線元素之和。a[i][i]061a[i][N-1-i]0≤i≤N-1...a[i][N-1-i]0≤i≤N-1...62main(){inta[4][4]={{…},{…},{…},{…}};inti,sum;sum=0;for(i=0;i<=3;i++)sum=sum+a[i][i];printf("對角線和為%d\n",sum);}...main()...63main(){inta[4][4]={{…},{…},{…},{…}};inti,sum;sum=0;for(i=0;i<=3;i++)sum=sum+a[i][3-i];printf(“斜對角線和為%d\n",sum);}...main()...64例5.8打印出楊輝三角形(要求打印出10行如下圖)...例5.8打印出楊輝三角形(要求打印出10行如下圖)..65楊輝三角形各行系數(shù)規(guī)律各行第一個數(shù)是1各行最后一個數(shù)是1從第三行起,除首尾兩數(shù),其余各數(shù)是上一行同列和前一列兩數(shù)之和。a[i][j]=a[i-1][j]+a[i-1][j-1]...楊輝三角形各行系數(shù)規(guī)律各行第一個數(shù)是1...6611121133111564101014151...11121133111564101014151...67main(){inti,j;inta[10][10];for(i=0;i<10;i++){a[i][0]=1;

a[i][i]=1;}for(i=2;i<10;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];...main()...68main(){inti,j;inta[10][10];for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];...main()...69for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}分行打印數(shù)組a對角線以下部分...for(i=0;i<10;i++)分行打印數(shù)組a對角線以下部70for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}分行打印數(shù)組a對角線以下部分...for(i=0;i<10;i++)分行打印數(shù)組a對角線以下部71for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}分行打印數(shù)組a對角線以下部分...for(i=0;i<10;i++)分行打印數(shù)組a對角線以下部72for(i=0;i<10;i++){for(j=0;j<=i;j++)printf("%5d",a[i][j]);printf("\n");}分行打印數(shù)組a對角線以下部分...for(i=0;i<10;i++)分行打印數(shù)組a對角線以下部73例5.9二維數(shù)組的轉(zhuǎn)置。將一個二維數(shù)組行和列元素互換,存到另一個二維數(shù)組中。轉(zhuǎn)置...例5.9二維數(shù)組的轉(zhuǎn)置。將一個二維數(shù)組行和列元素互換,存74main(){inta[2][3]={{1,2,3},{4,5,6}};

intb[3][2],i,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}...main()...75main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;

printf("arraya:\n");

for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}...main()...76main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");

for(i=0;i<=1;i++)

{for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}...main()...77main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");

for(i=0;i<=1;i++){for(j=0;j<=2;j++)

{printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}...main()...78main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");

for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);

b[j][i]=a[i][j];}printf("\n");}...main()...79main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}...main()...80printf("arrayb:\n");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("\n");}}...printf("arrayb:\n");...81printf("arrayb:\n");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("\n");}}...printf("arrayb:\n");...82printf("arrayb:\n");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("\n");}}...printf("arrayb:\n");...83printf("arrayb:\n");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("\n");}}...printf("arrayb:\n");...84printf("arrayb:\n");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("\n");}}...printf("arrayb:\n");...855.3字符數(shù)組用來存放字符量的數(shù)組,每個元素都存放一個字符。

charc[5];charch[5][10];...5.3字符數(shù)組用來存放字符量的數(shù)組,每個元素都存放一個字符865.3.2字符數(shù)組的初始化charc[5]={‘C’,‘H’,‘I’,‘N’,‘A’};CHINA...5.3.2字符數(shù)組的初始化charc[5]={‘C’,87說明初值個數(shù)>數(shù)組長度,語法錯誤。初值個數(shù)<數(shù)組長度,則剩余元素自動定為空字符(即’\0’)。初值個數(shù)=數(shù)組長度,定義時可省略數(shù)組長度。

...說明初值個數(shù)>數(shù)組長度,語法錯誤。...885.3.3字符數(shù)組的引用main(){inti,j;

chara[][5]={{…},{…}};for(i=0;i<=1;i++){for(j=0;j<=4;j++)printf("%2c",a[i][j]);printf("\n");}}...5.3.3字符數(shù)組的引用main()...895.3.3字符數(shù)組的引用main(){inti,j;chara[][5]={{…},{…}};for(i=0;i<=1;i++){for(j=0;j<=4;j++)printf("%2c",a[i][j]);printf("\n");}}...5.3.3字符數(shù)組的引用main()...905.3.3字符數(shù)組的引用main(){inti,j;chara[][5]={{…},{…}};for(i=0;i<=1;i++){for(j=0;j<=4;j++)printf("%2c",a[i][j]);printf("\n");}}...5.3.3字符數(shù)組的引用main()...915.3.3字符數(shù)組的引用main(){inti,j;chara[][5]={{…},{…}};for(i=0;i<=1;i++){for(j=0;j<=4;j++)printf("%2c",a[i][j]);printf("\n");}}...5.3.3字符數(shù)組的引用main()...925.3.3字符數(shù)組的引用main(){inti,j;chara[][5]={{…},{…}};for(i=0;i<=1;i++){for(j=0;j<=4;j++)printf("%2c",a[i][j]);printf("\n");}}...5.3.3字符數(shù)組的引用main()...935.3.4字符串和字符串結(jié)束標志C語言中沒有專門的字符串變量,通常用字符數(shù)組存放字符串。字符串在存儲時,需要在末尾添加一個空字符‘\0’,作為結(jié)束標志。...5.3.4字符串和字符串結(jié)束標志C語言中沒有專門的字符串變94Hell!o\0charc[]={‘H’,’e’,’l’,’l’,’o’,’!’};char

c[]={“Hello!”};charc[]=“Hello!”;...Hell!o\0charc[]={‘H’,’e’,’l’,955.3.5字符數(shù)組的輸入輸出使用scanf和printf用格式符“%s”...5.3.5字符數(shù)組的輸入輸出使用scanf和printf96例5.12main(){charst[15];printf(“Inputstring:\n");scanf("%s",st);printf("%s\n",st);}...例5.12main()...97例5.12main(){

charst[15];

printf(“Inputstring:\n");scanf("%s",st);printf("%s\n",st);}...例5.12main()...98例5.12main(){charst[15];printf(“Inputstring:\n");scanf("%s",st);printf("%s\n",st);}...例5.12main()...99例5.12main(){charst[15];printf(“Inputstring:\n");scanf("%s",st);printf("%s\n",st);}...例5.12main()...100st[1]st[2].....st[14]st[0]1個字節(jié)st1個字節(jié)1個字節(jié)1個字節(jié)...st[1]st[2].st[14]st[0]1個字節(jié)st1個101運行情況:Inputstring:Hello!↙Hello!...運行情況:...102運行情況:Inputstring:HelloWorld!↙Hello...運行情況:...103注意scanf("%s",st);輸入字符中不能含有空格若要使空格作為有效字符錄入,應使用字符串操作函數(shù)gets()...注意scanf("%s",st);...104數(shù)組名表示第一個元素的地址。main(){chara[2];

scanf("%c",a);printf("%c",a[0]);}...數(shù)組名表示第一個元素的地址。main()...105字符串結(jié)束符的意義charc[3]={‘Q’,’D’,’U’};輸出結(jié)果:QDU#﹫→QDUc#﹫→\0……printf(“%s”,c);...字符串結(jié)束符的意義charc[3]={‘Q’,’D’,’U106main(){charstr1[5],str2[5],str3[5];scanf("%s%s%s",str1,str2,str3);printf("%s\n%s\n%s\n",str1,str2,str3);}ow\0Hstr1re\0astr2ou?\0ystr3輸入數(shù)據(jù):Howareyou?例5.13...main()ow\0Hstr1re\0astr2ou?\0y107[問題]charstr[13];scanf(“%s”,str);輸入數(shù)據(jù):Howareyou?ow\0Hstr...[問題]輸入數(shù)據(jù):ow\0Hstr...1085.3.6常用字符串函數(shù)puts字符串輸出函數(shù)gets字符串輸入函數(shù)strcat字符串粘連函數(shù)strcpy字符串拷貝函數(shù)strcmp字符串比較函數(shù)strlen求字符串長度函數(shù)strlwr字符串大寫轉(zhuǎn)小寫函數(shù)strupr字符串小寫轉(zhuǎn)大寫函數(shù)...5.3.6常用字符串函數(shù)puts字符串輸出函數(shù)..109使用gets、puts

#include“stdio.h”...使用gets、puts...110使用strcat,strcpy,strcmp,strlen,strlwr,strupr

#include“string.h”...使用...111

puts(字符數(shù)組名)

...puts(字符數(shù)組名)...112#include"stdio.h"main(){charc[]="BASIC\ndBASE";puts(c);}...#include"stdio.h"...113#include"stdio.h"main(){charc[]="BASIC\ndBASE";puts(c);}...#include"stdio.h"...114#include"stdio.h"main(){charc[]="BASIC\ndBASE";puts(c);}...#include"stdio.h"...115BASI\nCdBASE\0c運行情況:BASICdBASE...BASI\nCdBASE\0c運行情況:...116gets(字符數(shù)組名)

...gets(字符數(shù)組名)...117#include"stdio.h"main(){charst[15];printf(“Inputstring:\n");gets(st);puts(st);}...#include"stdio.h"...118#include"stdio.h"main(){charst[15];printf(“Inputstring:\n");gets(st);puts(st);}...#include"stdio.h"...119#include"stdio.h"main(){charst[15];printf(“Inputstring:\n");gets(st);puts(st);}...#include"stdio.h"...120#include"stdio.h"main(){charst[15];printf(“Inputstring:\n");gets(st);puts(st);}...#include"stdio.h"...121#include"stdio.h"main(){charst[15];printf(“Inputstring:\n");gets(st);puts(st);}...#include"stdio.h"...122運行情況:Inputstring:HelloWorld!↙HelloWorld!...運行情況:...123總結(jié)gets(st)和scanf(“%s”,st)對輸入數(shù)據(jù)看待不同put(st)和printf(“%s”,st)兩者等價...總結(jié)gets(st)和scanf(“%s”,st)...124總結(jié)gets(st)和scanf(“%s”,st)對輸入數(shù)據(jù)看待不同put(st)和printf(“%s”,st)兩者等價...總結(jié)gets(st)和scanf(“%s”,st)...125strcat(字符數(shù)組名1,字符數(shù)組名2)功能:把字符數(shù)組2粘貼到字符數(shù)組1結(jié)束符開始的地方。...strcat(字符數(shù)組名1,字符數(shù)組名2)功能:...126ignado\0Qstr1nUviresity\0str2nUviresity\0strcat(str1,str2);...ignado\0Qstr1nUviresity\0str2n127#include"string.h"main(){charst1[]="Qingdao";charst2[]=“University”;

strcat(st1,st2);puts(st1);}...#include"string.h"...128strcpy(字符數(shù)組名1,字符數(shù)組名2)功能:把字符數(shù)組2中的字符串拷貝到字符數(shù)組1中。串結(jié)束標志“\0”也一同拷貝。

...strcpy(字符數(shù)組名1,字符數(shù)組名2)功能:...129strcpy(str1,str2);aLgnua\0Cstr2gestr1

CaLgnuage\0

...strcpy(str1,str2);aLgnua\0Cstr130#include"string.h"main(){charst1[15];charst2[]="CLanguage";

strcpy(st1,st2);puts(st1);}...#include"string.h"...131strcmp(字符數(shù)組名1,字符數(shù)組名2)功能:以ASCII碼大小比較兩個數(shù)組中的字符串,并返回值一個整數(shù)值作為比較結(jié)果。

...strcmp(字符數(shù)組名1,字符數(shù)組名2)功能:...132返回值體現(xiàn)字典排序

0:

字符串1=字符串2正整數(shù):字符串1>字符串2

字符串1排后負整數(shù):字符串1<字符串2

字符串1排前strcmp(字符數(shù)組名1,字符數(shù)組名2)...返回值體現(xiàn)字典排序strcmp(字符數(shù)組名1,字符數(shù)組名2)133#include"string.h"main(){intk;charst1[15];charst2[]="CLanguage";gets(st1);k=strcmp(st1,st2);if(k==0)printf("st1=st2\n");if(k>0)printf("st1>st2\n");if(k<0)printf("st1<st2\n");}...#include"string.h"...134#include"string.h"main(){intk;charst1[15];charst2[]="CLanguage";gets(st1);k=strcmp(st1,st2);if(k==0)printf("st1=st2\n");if(k>0)printf("st1>st2\n");if(k<0)printf("st1<st2\n");}...#include"string.h"...135#include"string.h"main(){intk;charst1[15];charst2[]="CLanguage";gets(st1);

k=strcmp(st1,st2);

if(k==0)printf("st1=st2\n");

if(k>0)printf("st1>st2\n");

if(k<0)printf("st1<st2\n");}...#include"string.h"...136strlen(字符數(shù)組名)

功能:計算字符數(shù)組中“字符串結(jié)束符”之前所有字符的個數(shù),作為函數(shù)的返回值。...strlen(字符數(shù)組名)功能:...137#include"string.h"main(){intk;charst[]="Clanguage";

k=strlen(st);printf(“Lenthis%d.",k);}...#include"string.h"...138大小寫轉(zhuǎn)換#include"stdio.h"main(){chars[]="ilovechina!\n";

strupr(s);puts(s);}...大小寫轉(zhuǎn)換#include"stdio.h"...1395.4程序舉例例5.20把一個整數(shù)插入已按從大到小順序排好的數(shù)組中?!?..5.4程序舉例例5.20把一個整數(shù)插入已按從大到小順140main(){inti,j,p,q,s,n;inta[11]={……};for(i=0;i<10;i++){p=i;q=a[i];for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...141main(){inti,j,p,q,s,n;inta[11]={……};for(i=0;i<10;i++){p=i;q=a[i];for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...142main(){inti,j,p,q,s,n;

inta[11]={……};for(i=0;i<10;i++){p=i;q=a[i];for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...143main(){inti,j,p,q,s,n;inta[11]={……};for(i=0;i<10;i++){p=i;q=a[i];for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...144main(){inti,j,p,q,s,n;inta[11]={……};for(i=0;i<10;i++){

p=i;q=a[i];for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...145main(){inti,j,p,q,s,n;inta[11]={……};

for(i=0;i<10;i++){

p=i;q=a[i];

for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...146main(){inti,j,p,q,s,n;inta[11]={……};

for(i=0;i<10;i++){

p=i;q=a[i];

for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...147main(){inti,j,p,q,s,n;inta[11]={……};

for(i=0;i<10;i++){

p=i;q=a[i];

for(j=i+1;j<10;j++)if(q<a[j]){p=j;q=a[j];}...main()...148main(){inti,j,p,q,s,n;inta[11]={……};

for(i=0;i<10;i++){

p=i;q=a[i];

for(j=i+1;j<10;j++)if(q<a[j])

{p=j;q=a[j];}...main()...149if(p!=i){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}...if(p!=i)...150if(p!=i)

{s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}...if(p!=i)...151if(p!=i){s=a[i];a[i]=a[p];a[p]=s;}printf("%d",a[i]);}...if(p!=i)...152printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..153printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..154printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..155printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)

if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..156printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)

if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..157printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)

if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..158printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)

if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..159printf(“\nInputnumber:\n");scanf("%d",&n);for(i=0;i<10;i++)if(n>a[i]){for(s=9;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;...printf(“\nInputnumber:\n");..160for(i=0;i<=10;i++)printf("%d",a[i]);}...for(i=0;i<=10;i++)...161for(i=0;i<=10;i++)printf("%d",a[i]);}...for(i=0;i<=10;i++)...162例5.21從二維數(shù)組a中各行中選出最大的元素,組成一維數(shù)組b。...例5.21從二維數(shù)組a中各行中選出最大的元素,組成一維數(shù)163main(){inta[][4]={………};intb[3],i,j,l;for(i=0;i<=2;i++){l=a[i][0];for(j=1;j<=3;j++)if(a[i][j]>l)l=a[i][j];b[i]=l;}...main()...164main(){inta[][4]={………};

intb[3],i,j,l;for(i=0;i<=2;i++){l=a[i][0];for(j=1;j<=3;j++)if(a[i][j]>l)l=a[i][j];b[i]=l;}...main()...165main(){inta[][4]={………};intb[3],i,j,l;

for(i=0;i<=2;i++){l=a[i][0];for(j=1;j<=3;j++)if(a[i][j]>l)l=a[i][j];b[i]=l;}...main()...166main(){inta[][4]={………};intb[3],i,j,l;

for(i=0;i<=2;i++)

{l=a[i][0];for(j=1;j<=3;j++)if(a[i][j]>l)l=a[i][j];b[i]=l;

}...main()...167main(){inta[][4]={………};intb[3],i,j,l;

for(i=0;i<=2;i++){l=a[i][0];for(j=1;j<=3;j++)if(a[i][j]>l)l=a[i][j];b[i]=l;

}...main()...168main(){inta[][4]={………};intb[3],i,j,l;

for(i=0;i<=2;i++)

{l=a[i][0];

for(j=1;j<=3;j++)if(a[i][j]>l)l=a[i][j];b[i]=l;

}...main()...169main(){inta[][4]={………};intb[3],i,j,l;

for(i=0;i<=2;i++)

{l=a[i][0];for(j=1;j<=3;j++)

if(a[i][j]>l)l=a[i][j];b[i]=l;

}...main()...170main(){inta[][4]={………};intb[3],i,j,l;

for(i=0;i<=2;i++)

{l=a[i][0];for(j=1;j<=3;j++)

if(a[i][j]>l)

l=a[i][j];b[i]=l;

}...main()...171main(){inta[][4]={………};intb[3],i,j,l;

for(i=0;i<=2;i++)

{l=a[i][0];

for(j=1;j<=3;j++)if(a[i][j]>l)l=a[i][j];b[i]=l;

}...main()...172printf("\nArraya:\n");for(i=0;i<=2;i++){for(j=0;j<=3;j++)printf("%5d",a[i][j]);printf("\n");}...printf("\nArraya:\n");...173printf("\nArraya:\n");for(i=0;i<=2;i++)

{for(j=0;j<=3;j++)printf("%5d",a[i][j]);printf("\n");}...printf("\nArraya:\n");...174printf("\nArraya:\n");for(i=0;i<=2;i++)

{for(j=0;j<=3;j++)printf("%5d",a[i][j]);printf("\n");}...printf("\nArraya:\n");...175printf("\nArraya:\n");for(i=0;i<=2;i++)

{for(j=0;j<=3;j++)

printf("%5d",a[i][j]);printf("\n");}...printf("\nArraya:\n");...176printf("\nArraya:\n");for(i=0;i<=2;i++)

{for(j=0;j<=3;j++)printf("%5d",a[i][j]);

printf("\n");}...printf("\nArraya:\n");...177printf("\nArrayb:\n");for(i=0;i<=2;i++)printf("%5d",b[i]);}...printf("\nArrayb:\n");...178printf("\nArrayb:\n");for(i=0;i<=2;i++)printf("%5d",b[i]);}...printf("\nArrayb:\n");...179printf("\nArrayb:\n");for(i=0;i<=2;i++)printf("%5d",b[i]);}...printf("\nArrayb:\n");...180例5.22輸入五個國家的名稱,字典排序后輸出。...例5.22輸入五個國家的名稱,字典排序后輸出。...181charcs[5][7];cs[0]cs[1]cs[2]cs[3]cs[4]...charcs[5][7];cs[0]cs[1]cs[2]c182cs[0]cs[0][0]cs[0][1]……cs[0][6]cs[1][0]cs[1][1]......cs[1][6]第0行第1行cs[1]cs[2]...cs[0]cs[0][0]cs[0][1]……cs[0][6183cs[0]~cs[4]pipp...cs[0]~cs[4]pipp...184main(){charst[20],cs[5][20];inti,j,p;printf("inputnames:\n");for(i=0;i<5;i++)gets(cs[i]);...main()...185main(){charst[20],cs[5][20];inti,j,p;printf("inputnames:\n");for(i=0;i<5;i++)gets(cs[i]);...main()...186main(){charst[20],cs[5][20];inti,j,p;printf("inputnames:\n");for(i=0;i<5;i++)gets(cs[i]);...main()...187main(){charst[20],cs[5][20];inti,j,p;printf("inputnames:\n");for(i=0;i<5;i++)gets(cs[i]);...main()...188main(){charst[20],cs[5][20];inti,j,p;printf("inputnames:\n");for(i=0;i<5;i++)gets(cs[i]);...main()...189main(){charst[20],cs[5][20];inti,j,p;printf("inputnames:\n");for(i=0;i<5;i++)gets(cs[i]);...main()...190for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);for(j=i+1;j<5;j++)if(strcmp(cs[j],st)<0){p=j;strcpy(st,cs[j]);}if(p!=i){strcpy(st,cs[i]);strcpy(cs[i],cs[p]);strcpy(cs[p],st);}puts(cs[i]);}...for(i=0;i<5;i++)...191for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);for(j=i+1;j<5;j++)if(strcmp(cs[j],st)<0){p=j;strcpy(st,cs[j]);}if(p!=i){strcpy(st,cs[i]);strcpy(cs[i],cs[p]);strcpy(cs[p],st);}puts(cs[i]);}...for(i=0;i<5;i++)...192for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);

for(j=i+1;j<5;j++)if(strcmp(cs[j],st)<0){p=j;strcpy(st,cs[j]);}if(p!=i){strcpy(st,cs[i]);strcpy(cs[i],cs[p]);strcpy(cs[p],st);}puts(cs[i]);}...for(i=0;i<5;i++)...193for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);

for(j=i+1;j<5;j++)

if(strcmp(cs[j],st)<0){p=j;strcpy(st,cs[j]);}if(p!=i){strcpy(st,cs[i]);strcpy(cs[i],cs[p]);strcpy(cs[p],st);}puts(cs[i]);}...for(i=0;i<5;i++)...194for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);

for(j=i+1;j<5;j++)

if(strcmp(cs[j],st)<0)

{p=j;strcpy(st,cs[j]);}if(p!=i){strcpy(st,cs[i]);strcpy(cs[i],cs[p]);strcpy(cs[p],st);}puts(cs[i]);}...for(i=0;i<5;i++)...195for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);for(j=i+1;j<5;j++)if(strcmp(cs[j],st)<0){p=j;strcpy(st,cs[j]);}if(p!=i){strcpy(st,cs[i]);strcpy(cs[i],cs[p]);strcpy(cs[p],st);}puts(cs[i]);}...for(i=0;i<5;i++)...196for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);for(j=i+1;j<5;j++)if(strcmp(cs[j],st)<0){p=j;strcpy(st,cs[j]);}

if(p!=i)

{strcpy(st,cs[i]);strcpy(cs[i],cs[p]);strcpy(cs[p],st);}puts(cs[i]);}...for(i=0;i<5;i++)...197for(i=0;i<5;i++){p=i;strcpy(st,cs[i]);for(j=i+1;j<5;j++)if(strcmp(cs[j],st)<0){p=j;strc

溫馨提示

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

評論

0/150

提交評論