![C語言程序設(shè)計(jì) 課件 6利用數(shù)組完善項(xiàng)目中數(shù)據(jù)的處理_第1頁](http://file4.renrendoc.com/view8/M03/1C/03/wKhkGWbjyruAHulBAADSq1xzaAE938.jpg)
![C語言程序設(shè)計(jì) 課件 6利用數(shù)組完善項(xiàng)目中數(shù)據(jù)的處理_第2頁](http://file4.renrendoc.com/view8/M03/1C/03/wKhkGWbjyruAHulBAADSq1xzaAE9382.jpg)
![C語言程序設(shè)計(jì) 課件 6利用數(shù)組完善項(xiàng)目中數(shù)據(jù)的處理_第3頁](http://file4.renrendoc.com/view8/M03/1C/03/wKhkGWbjyruAHulBAADSq1xzaAE9383.jpg)
![C語言程序設(shè)計(jì) 課件 6利用數(shù)組完善項(xiàng)目中數(shù)據(jù)的處理_第4頁](http://file4.renrendoc.com/view8/M03/1C/03/wKhkGWbjyruAHulBAADSq1xzaAE9384.jpg)
![C語言程序設(shè)計(jì) 課件 6利用數(shù)組完善項(xiàng)目中數(shù)據(jù)的處理_第5頁](http://file4.renrendoc.com/view8/M03/1C/03/wKhkGWbjyruAHulBAADSq1xzaAE9385.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目6利用數(shù)組完善項(xiàng)目中數(shù)據(jù)的處理目標(biāo)TARGET知識(shí)目標(biāo)掌握一維數(shù)組的定義、初始化和引用方法掌握二維數(shù)組的定義、初始化和引用方法熟悉Visual理解字符數(shù)組與字符串的區(qū)別,掌握它們的使用方法目標(biāo)TARGET技能目標(biāo)能夠利用一維數(shù)組知識(shí)解決批量數(shù)據(jù)問題,比如存儲(chǔ)、排序、插入等能夠利用二維數(shù)組處理類似行列式的問題能夠使用字符數(shù)組處理字符串多個(gè)學(xué)生一門課程成績(jī)的總成績(jī)和平均成績(jī)?nèi)蝿?wù)6.1多個(gè)學(xué)生多門課程成績(jī)的總成績(jī)和平均成績(jī)?nèi)蝿?wù)6.2使用數(shù)組處理字符串任務(wù)6.3任務(wù)6.1多個(gè)學(xué)生一門課程成績(jī)的總成績(jī)和平均成績(jī)
任務(wù)描述在學(xué)生成績(jī)管理系統(tǒng)中,已知6名同學(xué)《C語言程序設(shè)計(jì)》課程的期末成績(jī)分別為85、80、90、93、78、69,請(qǐng)問這6名同學(xué)《C語言程序設(shè)計(jì)》課程的總成績(jī)是多少分,平均成績(jī)是多少分?請(qǐng)編制一個(gè)程序。傳統(tǒng)方案為:1)定義6個(gè)float變量。2)統(tǒng)計(jì)求和,并求出平均值。從算法分析中,我們可以看到傳統(tǒng)的方案,當(dāng)人數(shù)變多,定義的變量個(gè)數(shù)也隨之變多,使用不靈活,累加的變量個(gè)數(shù)丟失時(shí)容易出現(xiàn)誤差。為了滿足大數(shù)量數(shù)據(jù)的計(jì)算需求,在C語言程序設(shè)計(jì)中提出了數(shù)組的概念。任務(wù)分析傳統(tǒng)方案為:1)定義6個(gè)float變量。2)統(tǒng)計(jì)求和,并求出平均值。從算法分析中,我們可以看到傳統(tǒng)的方案,當(dāng)人數(shù)變多,定義的變量個(gè)數(shù)也隨之變多,使用不靈活,累加的變量個(gè)數(shù)丟失時(shí)容易出現(xiàn)誤差。為了滿足大數(shù)量數(shù)據(jù)的計(jì)算需求,在C語言程序設(shè)計(jì)中提出了數(shù)組的概念。1一維數(shù)組的定義及其應(yīng)用Part◎一維數(shù)組的引用◎一維數(shù)組的初始化◎一維數(shù)組的應(yīng)用◎一維數(shù)組的定義6.1.1一維數(shù)組的定義
類型說明符表示數(shù)組中所有元素的數(shù)據(jù)類型;數(shù)組名就是這個(gè)數(shù)組型變量的名稱;常量表達(dá)式指一維數(shù)組中元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。數(shù)組:在程序設(shè)計(jì)中,一組具有相同數(shù)據(jù)類型的變量集合稱為數(shù)組。一維數(shù)組:是只有一個(gè)下標(biāo)的數(shù)組,它用來表示一組具有相同類型的數(shù)據(jù)。在C語言中,一維數(shù)組的定義方式如下所示:類型說明符數(shù)組名[常量表達(dá)式];6.1.2一維數(shù)組的引用
數(shù)組定義后,就可以引用數(shù)組中的任意一個(gè)元素了,引用形式如下:<數(shù)組名>[<下標(biāo)表達(dá)式>];其中,
“下標(biāo)表達(dá)式”表示數(shù)組中的某一個(gè)元素的順序序號(hào),
序號(hào)范圍是“0-[數(shù)組長(zhǎng)度-1]”。6.1.3一維數(shù)組的初始化
完成數(shù)組的定義后,只是對(duì)數(shù)組中的元素開辟了一塊內(nèi)存空間。這時(shí),如果想使用數(shù)組操作數(shù)據(jù),還需要對(duì)數(shù)組進(jìn)行初始化。一維數(shù)組初始化的一般格式如下:<類型說明符><數(shù)組名>[常量表達(dá)式]={初值表};一維數(shù)組初始化的常見的方式有三種,具體如下:1)直接對(duì)數(shù)組中的所有元素賦值,例如:inti[6]={1,2,3,4,5,6};2)只對(duì)數(shù)組中的一部分元素賦值,例如:inti[6]={1,2,3};3)對(duì)數(shù)組全部元素賦值但不指定長(zhǎng)度,例如:inti[]={1,2,3,4}。6.1.4一維數(shù)組的應(yīng)用
例6-1案例:
在學(xué)生成績(jī)管理系統(tǒng)中,已知6名同學(xué)《C語言程序設(shè)計(jì)》課程的期末成績(jī)分別為85、80、90、93、78、69,請(qǐng)問這6名同學(xué)《C語言程序設(shè)計(jì)》課程的總成績(jī)是多少分,平均成績(jī)是多少分?請(qǐng)編制一個(gè)程序。6.1.4一維數(shù)組的應(yīng)用
例6-1算法:1.定義一維數(shù)組result[6]、求和變量sum、求平均值變量ave、變量i。2.循環(huán)輸入6名同學(xué)《C語言程序設(shè)計(jì)》的期末成績(jī)。3.循環(huán)輸出6名同學(xué)《C語言程序設(shè)計(jì)》的期末成績(jī),觀察成績(jī)?cè)跀?shù)組中的存儲(chǔ)。4.求總成績(jī),存入變量sum中,并輸出變量sum的值。5.求平均成績(jī),存入變量ave中,并輸出變量ave的值。6.1.4一維數(shù)組的應(yīng)用
例6-1流程圖:6.1.4一維數(shù)組的應(yīng)用
例6-1程序代碼:#include"stdio.h"voidmain(){//定義一個(gè)數(shù)組floatresult[6],sum=0.0,ave=0.0;inti;printf("請(qǐng)輸入已知的6名同學(xué)《C語言程序設(shè)計(jì)》課程的期末成績(jī):\n");for(i=0;i<6;i++){ scanf("%f",&result[i]); }//輸出,并觀察6名同學(xué)的成績(jī)?cè)谝陨蠑?shù)組中的存儲(chǔ)printf("\n================\n");printf("\n分別輸出6名同學(xué)的成績(jī):\n");for(i=0;i<6;i++){ printf("result[%d]=%.2f\n",i,result[i]); }//求總成績(jī)printf("\n================\n");for(i=0;i<6;i++){ sum=sum+result[i]; }printf("6名同學(xué)的總成績(jī)?yōu)椋簊um=%.2f\n",sum);//求平均成績(jī)printf("\n================\n");ave=sum/6;printf("6名同學(xué)的平均成績(jī)?yōu)椋篴ve=%.2f\n",ave);}6.1.4一維數(shù)組的應(yīng)用
例6-1程序執(zhí)行結(jié)果:說明:(1)%.2f用在格式控制輸入輸出中,表示保留兩位小數(shù)。(2)字符數(shù)組的輸入輸出都是通過循環(huán)實(shí)現(xiàn)的。注意:(1)數(shù)組的下標(biāo)是用方括號(hào)括起來,不是圓括號(hào),數(shù)組的下標(biāo)是從0開始的,不是從1開始。(2)數(shù)組的命名同變量的命名規(guī)則相同。任務(wù)6.2多個(gè)學(xué)生多門課程成績(jī)的總成績(jī)和平均成績(jī)
任務(wù)描述一個(gè)學(xué)習(xí)小組有4個(gè)人,每個(gè)人有相同三門課程的考試成績(jī)。求組內(nèi)每個(gè)人的總成績(jī)、全組各科的總成績(jī)和各科的平均成績(jī)。請(qǐng)編制一個(gè)程序。傳統(tǒng)方案為:1)定義6個(gè)float變量。2)統(tǒng)計(jì)求和,并求出平均值。從算法分析中,我們可以看到傳統(tǒng)的方案,當(dāng)人數(shù)變多,定義的變量個(gè)數(shù)也隨之變多,使用不靈活,累加的變量個(gè)數(shù)丟失時(shí)容易出現(xiàn)誤差。為了滿足大數(shù)量數(shù)據(jù)的計(jì)算需求,在C語言程序設(shè)計(jì)中提出了數(shù)組的概念。任務(wù)分析1)定義一個(gè)四行三列的數(shù)組,每一行用于存放一名學(xué)生的三科成績(jī)。2)通過遍歷數(shù)組中的每一個(gè)元素,求組內(nèi)每個(gè)人的總成績(jī)、全組各科的總成績(jī)和各科的平均成績(jī)。2二維數(shù)組的定義及其應(yīng)用Part◎二維數(shù)組的引用◎二維數(shù)組的初始化◎二維數(shù)組的應(yīng)用◎二維數(shù)組的定義6.2.1二維數(shù)組的定義
其中,
“常量表達(dá)式1”表示數(shù)組的行數(shù);
“常量表達(dá)式2”表示數(shù)組的列數(shù)。例如,intb[4][5];二維數(shù)組的定義格式為:<類型說明符><數(shù)組名>[<常量表達(dá)式1>][<常量表達(dá)式2>];6.2.2二維數(shù)組的引用
1、二維數(shù)組的引用方式同一維數(shù)組的引用方式一樣,也是通過數(shù)組名和下標(biāo)的方式來引用數(shù)組元素,引用形式為:<數(shù)組名>[<行下標(biāo)>][<列下標(biāo)>]2、二維數(shù)組中元素的存儲(chǔ)和排列順序:整體按行從上到下存儲(chǔ),行內(nèi)又按從左到右存放,因此二維數(shù)組元素的個(gè)數(shù)等于行數(shù)與列數(shù)的乘積。3、二維數(shù)組的行下標(biāo)和列下標(biāo)都是從0開始編號(hào)。例如:intb[4][5];定義名為b的整型二維數(shù)組,數(shù)組分為4行5列,共20個(gè)元素,元素的排列順序?yàn)椋?/p>
b[0][0]b[0][1]b[0][2]b[0][3]b[0][4]b[1][0]b[1][1]b[1][2]b[1][3]b[1][4]b[2][0]b[2][1]b[2][2]b[2][3]b[2][4]b[3][0]b[3][1]b[3][2]b[3][3]b[3][4]6.2.3二維數(shù)組的初始化
完成二維數(shù)組的定義后,需要對(duì)二維數(shù)組進(jìn)行初始化,二維數(shù)組初始化的一般格式如下:<類型說明符><數(shù)組名>[<常量表達(dá)式1>][<常量表達(dá)式2>]={初值表};初始化二維數(shù)組的方式有四種,具體如下:1)按行給二維數(shù)組賦初值
例如:inta[2][3]={{1,2,3},{4,5,6}};2)將所有的數(shù)組元素按順序?qū)懺谝粋€(gè)大括號(hào)內(nèi)
例如:inta[2][3]={1,2,3,4,5,6};3)對(duì)部分?jǐn)?shù)組元素賦初值
例如:intb[3][4]={{1},{4,3},{2,1,2}};4)對(duì)全部數(shù)組元素置初值,則第一個(gè)下標(biāo)可省略
例如:inta[][3]={1,2,3,4,5,6};6.2.4二維數(shù)組的應(yīng)用
例6-2案例:
一個(gè)學(xué)習(xí)小組有4個(gè)人,每個(gè)人有相同三門課程的考試成績(jī)。請(qǐng)編制一個(gè)程序求組內(nèi)每個(gè)人的總成績(jī)、全組各科的總成績(jī)和各科的平均成績(jī)。6.2.4二維數(shù)組的應(yīng)用
例6-2流程圖:6.2.4二維數(shù)組的應(yīng)用
例6-2程序代碼:#include"stdio.h"voidmain(intargc){//定義一個(gè)四行三列數(shù)組存放張同學(xué)、王同學(xué)、李同學(xué)、趙同學(xué)四個(gè)人成績(jī)intStuScore[4][3]={{88,70,90},{80,80,60},{89,60,85},{70,80,80}} intm=0,n=0;intnStuTotalScore;intnMathTotalScore=0;intnChineseTotalScore=0;intnEnglishTotalScore=0;printf("個(gè)人總成績(jī):\n");for(m=0;m<4;m++){nStuTotalScore=0;for(n=0;n<3;n++)
{nStuTotalScore+=StuScore[m][n];switch(n){case0:nMathTotalScore+=StuScore[m][0];break;case1:nChineseTotalScore+=StuScore[m][1];break;case2:nEnglishTotalScore+=StuScore[m][2];}}switch(m){case0:printf("張同學(xué):%d\n",nStuTotalScore);break;case1:printf("王同學(xué):%d\n",nStuTotalScore);break;case2:printf("李同學(xué):%d\n",nStuTotalScore);break;case3:printf("趙同學(xué):%d\n",nStuTotalScore);break;}}
printf("小組數(shù)學(xué)總分:%d 小組數(shù)學(xué)平均分:%.2f\n",nMathTotalScore,(double)nMathTotalScore/4);printf("小組語文總分:%d 小組語文平均分:%.2f\n",nChineseTotalScore,(double)nChineseTotalScore/4);printf("小組英語總分:%d 小組英語平均分:%.2f\n",nEnglishTotalScore,(double)nEnglishTotalScore/4);}6.2.4二維數(shù)組的應(yīng)用
例6-2程序執(zhí)行結(jié)果:說明:(1)其中,定了StuScore[4][3]四行三列數(shù)組存放學(xué)生成績(jī),每一行存放一名學(xué)生的三科成績(jī)。(2)通過遍歷列下標(biāo)獲取每個(gè)小組不同學(xué)科的總分,通過遍歷行下標(biāo)獲取每個(gè)小組成員的總分,最后將小組不同學(xué)科的總分和平均分輸出。(3)第一個(gè)switch分支case的0、1、2分別表示的是數(shù)學(xué)、語文、英語成績(jī)。第二個(gè)switch分支case的0、1、2、3分別表示的是張同學(xué)、王同學(xué)、李同學(xué)、趙同學(xué)四個(gè)人的總成績(jī)。注意:(1)數(shù)組的下標(biāo)是用方括號(hào)括起來,不是圓括號(hào),數(shù)組的下標(biāo)是從0開始的,不是從1開始。(2)數(shù)組的命名同變量的命名規(guī)則相同。任務(wù)6.3使用數(shù)組處理字符串
任務(wù)描述已知兩個(gè)數(shù)組str1和str2分別存放字符串“Hello”和“Word”,編寫程序復(fù)制第1個(gè)字符串,并連接字符串1和字符串2,輸出連接后的字符串及其長(zhǎng)度。傳統(tǒng)方案為:1)定義6個(gè)float變量。2)統(tǒng)計(jì)求和,并求出平均值。從算法分析中,我們可以看到傳統(tǒng)的方案,當(dāng)人數(shù)變多,定義的變量個(gè)數(shù)也隨之變多,使用不靈活,累加的變量個(gè)數(shù)丟失時(shí)容易出現(xiàn)誤差。為了滿足大數(shù)量數(shù)據(jù)的計(jì)算需求,在C語言程序設(shè)計(jì)中提出了數(shù)組的概念。任務(wù)分析(1)定義3個(gè)字符數(shù)組str1、str2和str3,保證數(shù)組長(zhǎng)度大于字符串的長(zhǎng)度,將“Hello”存入數(shù)組str1中、將“Word”存入數(shù)組str2中。(2)通過字符串復(fù)制函數(shù)將“Hello”復(fù)制到數(shù)組str3中。(3)通過字符串連接函數(shù)和求字符串長(zhǎng)度的函數(shù)分別求出連接后的字符串及其長(zhǎng)度。3使用數(shù)組處理字符串Part◎字符串◎字符串處理函數(shù)◎字符數(shù)組的應(yīng)用◎字符數(shù)組的定義、引用和初始化6.3.1字符數(shù)組的定義、引用和初始化
一、定義:字符數(shù)組就是數(shù)據(jù)元素為字符類型的數(shù)組,用來存放字符。字符數(shù)組的定義格式為:char數(shù)組名[常量表達(dá)式];6.3.1字符數(shù)組的定義、引用和初始化
二、引用:字符數(shù)組的引用和數(shù)值型數(shù)組一樣,也是使用下標(biāo)的形式,形式如下:<數(shù)組名>[<下標(biāo)表達(dá)式>];6.3.1字符數(shù)組的定義、引用和初始化
三、初始化:字符數(shù)組的初始化,有如下幾種方法:(1)逐個(gè)字符賦給數(shù)組中各元素,字符數(shù)組的長(zhǎng)度也可用初值來確定。例如:charch[7]={'s','t','u','d','e','n','t'};(2)在定義字符數(shù)組時(shí)進(jìn)行初始化,可以省略數(shù)組長(zhǎng)度。例如:charstr[]={'a','b','c'};(3)利用字符串給字符數(shù)組賦初值,通常用一個(gè)字符數(shù)組來存放一個(gè)字符串。例如:charchArray[]={"Howareyou!"};
或?qū)?{}"去掉,寫成:charchArray[]="Howareyou!";6.3.2字符串
字符串實(shí)際上是使用null字符'\0'終止的一維字符數(shù)組。因此,一個(gè)以null結(jié)尾的字符串,包含了組成字符串的字符。因?yàn)樽址谋举|(zhì)就是字符數(shù)組,因此可以按照數(shù)組的方式遍歷和訪問某個(gè)元素即可。6.3.2字符串
C語言庫函數(shù)提供以下兩類字符串的輸入/輸出函數(shù)。(1)格式化的字符串輸入/輸出函數(shù):scanf()/printf()。(2)非格式化的字符串輸入/輸出函數(shù):gets()/puts(),格式如下:
gets(字符數(shù)組名)
功能:讀入鍵盤輸入的字符串,并存儲(chǔ)在字符數(shù)組中。按回車鍵結(jié)束輸入,系統(tǒng)自動(dòng)在字符串末尾添加結(jié)束標(biāo)志‘\0’。puts(字符數(shù)組名)
功能:將字符數(shù)組中的字符串輸出在屏幕上。6.3.3字符串處理函數(shù)
C語言提供了一些字符串處理函數(shù),這些函數(shù)的原型在頭文件string.h中。字符串復(fù)制函數(shù)——strcpy()格式如下:
strcpy(目地字符數(shù)組名,源字符數(shù)組名);功能:把源字符數(shù)組中的字符串復(fù)制到目地字符數(shù)組中,串結(jié)束符'\0'也一同復(fù)制。例如:charstr1[12]="Hello",str2[12];strcpy(str2,str1);printf("strcpy(str2,str1):%s\n",str2);//"Hello"6.3.3字符串處理函數(shù)
2.求字符串長(zhǎng)度函數(shù)——strlen()格式如下:strlen(字符數(shù)組名);功能:計(jì)算字符串的實(shí)際長(zhǎng)度(不包括結(jié)束符'\0')。函數(shù)的返回值為字符串的實(shí)際長(zhǎng)度。例如:charstr[80]="Iamastudent";//字符數(shù)組的長(zhǎng)度為80printf("\n長(zhǎng)度=%d",strlen(str));//輸出結(jié)果:長(zhǎng)度=146.3.3字符串處理函數(shù)
3.字符串連接函數(shù)——strcat()格式如下:
strcat(目地字符數(shù)組名,源字符數(shù)組名);功能:把源字符數(shù)組中的字符串連接到目地字符數(shù)組的后面,并刪除目地字符數(shù)組中的字符串結(jié)束符'\0'。6.3.4字符數(shù)組的應(yīng)用
例6-3案例:
有三個(gè)字符串,將字符串1復(fù)制到字符串3中,并輸出;然后將字符串1和字符串2連接起來,并輸出連接后的字符串及其長(zhǎng)度。6.3.4字符數(shù)組的應(yīng)用
例6-3流程圖:開始定義數(shù)組str1、str2并初始化定義字符數(shù)組str3、變量len輸出數(shù)組str3結(jié)束復(fù)制str1到str3輸出str1長(zhǎng)度求出str1長(zhǎng)度輸出數(shù)組str1連接str1到str26.3.4字符數(shù)組的應(yīng)用
例6-3程序代碼:#include<stdio.h>#include<string.h>voidmain(){ charstr1[12]="Hello"; charstr2[12]="World"; charstr3[12]; intlen; /*復(fù)制str1到str3*/ strcpy(str3,str1);//str3內(nèi)容"Hello" printf("strcpy(str3,str1):%s\n",str3);//"Hello" /*連接str1和str2*/ strcat(str1,str2); printf("strcat(str1,str2):%s\n",str1);//"HelloWorld" /*連接后,str1的總長(zhǎng)度*/ len=strlen(str1);// printf("strlen(str1):%d\n",len);//10 getchar();}6.3.4字符數(shù)組的應(yīng)用
例6-3程序執(zhí)行結(jié)果:說明:(1)#include<string.h>是字符串頭文件,使用的字符串函數(shù)包含在其中。(2)程序中往往依靠檢測(cè)'\0'的位置來判定字符串是否結(jié)束,而不是根據(jù)數(shù)組的長(zhǎng)度來決定字符串長(zhǎng)度。因此,字符串長(zhǎng)度不會(huì)統(tǒng)計(jì)'\0',字符數(shù)組長(zhǎng)度會(huì)統(tǒng)計(jì)。注意:(1)字符數(shù)組實(shí)際上是一系列字符的集合,也就是字符串(String)。在C語言中,沒有專門的字符串變量,沒有string類型,通常就用一個(gè)字符數(shù)組來存放一個(gè)字符串。(2)在定義字符數(shù)組時(shí)應(yīng)估計(jì)實(shí)際字符串長(zhǎng)度,保證數(shù)組長(zhǎng)度始終大于字符串實(shí)際長(zhǎng)度,否則,在輸出字符數(shù)組時(shí)可能出現(xiàn)未知字符。(3)定義字符數(shù)組時(shí),如果給的字符個(gè)數(shù)比數(shù)組的長(zhǎng)度小,則系統(tǒng)會(huì)默認(rèn)將剩余的元素空間,全部設(shè)置為‘\0’,比如charstr[6]=“ab”,str內(nèi)存布局就是[a][b][\0][\0][\0][\0]。拓展案例
例6-4案例:
在學(xué)生成績(jī)管理系統(tǒng)中,經(jīng)常會(huì)將學(xué)生的考試成績(jī)保持在一個(gè)數(shù)組中,然后對(duì)成績(jī)按從大到小的順序排列。編寫一個(gè)程序,使用冒泡排序法將學(xué)生成績(jī)按照降序排列。拓展案例
例6-4流程圖:開始定義數(shù)組array[COUNT]定義變量i,j,tempj>i循環(huán)輸入學(xué)生考試成績(jī)結(jié)束i=0i<COUNT-1輸入數(shù)組元素arr[i]i++YNNY循環(huán)輸出學(xué)生考試成績(jī)j=COUNT-1j--交換array[j]和array[j-1]
array[j]>array[j-1]YN宏定義COUNT為10拓展案例
例6-4程序代碼:#include<stdio.h>#defineCOUNT10voidmain(){ intarray[COUNT]; inti,j,temp; printf("請(qǐng)輸入學(xué)生的考試成績(jī):"); for(i=0;i<COUNT;i++) { scanf("%d",&array[i]); } printf("學(xué)生的考試成績(jī)是:"); for(i=0;i<COUNT;i++) { printf("%d",array[i]); } printf("\n"); for(i=0;i<COUNT-1;i++) { for(j=COUNT-1;j>i;j--) { if(array[j]>array[j-1]) { temp=array[j]; array[j]=array[j-1]; array[j-1]=temp; } } } printf("排序后的考試成績(jī)是:"); for(i=0;i<COUNT;i++) { printf("%d",array[i]); } printf("\n");}拓展案例
例6-4程序執(zhí)行結(jié)果:說明:(1)冒泡排序的基本思想是:【以降序排序?yàn)槔恳来螐暮笙蚯埃◤南聵?biāo)較大的元素開始)比較待排序相鄰元素的值,若發(fā)現(xiàn)后面元素的值大于前面元素的值則交換,使值較大的元素逐漸從后向前移動(dòng),就像水底的氣泡一樣逐濺向上冒。(2)排序過程:①比較最后一個(gè)元素值與倒數(shù)第二個(gè)元素值,若a[9]>a[9-1],則交換;然后比較倒數(shù)第二個(gè)元素值與倒數(shù)第三個(gè)元素值;依次類推,直至第1個(gè)元素值和第2個(gè)元素值比較為完為止——第一趟冒泡排序,結(jié)果最大的數(shù)被安置在第一個(gè)元素位置上,如圖6-5所示,為10個(gè)數(shù)的第一趟冒泡過程。②對(duì)后n-1個(gè)數(shù)進(jìn)行第二趟冒泡排序,結(jié)果使次大的數(shù)被安置在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版歷史九年級(jí)下冊(cè):第11課 《蘇聯(lián)的社會(huì)主義建設(shè)》 聽課評(píng)課記錄
- 《溝通中外文明的“絲綢之路”》名師聽課評(píng)課記錄(新部編人教版七年級(jí)上冊(cè)歷史)
- 生物醫(yī)藥產(chǎn)業(yè)園監(jiān)理合同(2篇)
- 電力價(jià)格調(diào)整合同(2篇)
- 五年級(jí)上冊(cè)數(shù)學(xué)聽評(píng)課記錄《7.1 誰先走》(3)-北師大版
- 部編人教版歷史九年級(jí)上冊(cè)第15課《探尋新航路》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)八年級(jí)上冊(cè)《小結(jié)練習(xí)》聽評(píng)課記錄5
- 人教版數(shù)學(xué)七年級(jí)上冊(cè)3.2《解一元一次方程(一)-合并同類項(xiàng)與移項(xiàng)》聽評(píng)課記錄1
- 五年級(jí)上冊(cè)數(shù)學(xué)聽評(píng)課記錄-總復(fù)習(xí)2-北師大版
- 新版湘教版秋八年級(jí)數(shù)學(xué)上冊(cè)第二章三角形課題三角形的內(nèi)角和定理聽評(píng)課記錄
- 必修3《政治與法治》 選擇題專練50題 含解析-備戰(zhàn)2025年高考政治考試易錯(cuò)題(新高考專用)
- 二零二五版電商企業(yè)兼職財(cái)務(wù)顧問雇用協(xié)議3篇
- 課題申報(bào)參考:流視角下社區(qū)生活圈的適老化評(píng)價(jià)與空間優(yōu)化研究-以沈陽市為例
- 《openEuler操作系統(tǒng)》考試復(fù)習(xí)題庫(含答案)
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 2024-2025學(xué)年人教版生物八年級(jí)上冊(cè)期末綜合測(cè)試卷
- 大數(shù)據(jù)背景下網(wǎng)絡(luò)輿情成因及治理
- 道教系統(tǒng)諸神仙位寶誥全譜
- 中國(guó)經(jīng)濟(jì)轉(zhuǎn)型導(dǎo)論-政府與市場(chǎng)的關(guān)系課件
- 新視野大學(xué)英語讀寫教程 第三版 Book 2 unit 8 教案 講稿
- 村務(wù)公開表格
評(píng)論
0/150
提交評(píng)論