




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、?數(shù)組類型的應(yīng)用背景同時(shí)存在若干個(gè)用來(lái)描述同一性質(zhì)且不同個(gè)體的數(shù)據(jù)將這些數(shù)據(jù)組織在一起形成批量數(shù)據(jù),共同參與處理,很多操作才具有實(shí)際意義1例如:輸入100名學(xué)生的成績(jī),要求輸出高于平均分的所有成績(jī)。單一數(shù)據(jù)考慮:用100個(gè)變量(a1,a2, ?,a100)存放學(xué)生成績(jī),與平均成績(jī)(ave)進(jìn)行判斷,if (a1ave) printf(“%fn”,a1);if (a2ave) printf(“%fn”,a2);?用數(shù)組:for(i=1;iave) printf(“%fn”,ai);數(shù)組是一種用來(lái)組織批量數(shù)據(jù)的數(shù)據(jù)類型。2一、一維數(shù)組?一維數(shù)組:由若干具有相同類型的數(shù)據(jù)元素組成。每個(gè)元素僅使用一個(gè)
2、序號(hào)(下標(biāo))唯一標(biāo)識(shí)。?一維數(shù)組定義 長(zhǎng)度;int a10;?元素序號(hào)(下標(biāo))從0開始,即a0 a1 a9?長(zhǎng)度即為元素的數(shù)量,必須給定?數(shù)組名的命名與通常變量命名方式相同?系統(tǒng)為它分配一片連續(xù)的存儲(chǔ)空間?數(shù)組元素的引用形式數(shù)組名下標(biāo) 下標(biāo)為整型表達(dá)式3?說(shuō)明:若數(shù)組長(zhǎng)度為n,下標(biāo)的下限從0開始,上限到n-1。注意下標(biāo)不要越界,否則將產(chǎn)生不可預(yù)料的運(yùn)行結(jié)果,C語(yǔ)言并不檢驗(yàn)下標(biāo)是否越界C語(yǔ)言規(guī)定,數(shù)組名是一個(gè)地址常量,代表所分配的內(nèi)存區(qū)域的起始地址4數(shù)組的存儲(chǔ)實(shí)現(xiàn)a8;int例如:分配的存儲(chǔ)空間如圖:a為 置 儲(chǔ) 位的a 起 始 存組數(shù) a a7 a5aa3a a1 aa 0246 所占字節(jié)數(shù):
3、sizeof(元素類型)元素個(gè)數(shù)5一維數(shù)組初始化?時(shí)對(duì)數(shù)組元素賦以初值定義數(shù)組在int a10=0,1,2,3,4,5,6,7,8,9;數(shù)組元素賦初值時(shí),數(shù)組長(zhǎng)度可在對(duì)全部以省略有幾個(gè)初值,數(shù)組默認(rèn)大小就是多大int a =0,1,2,3,4,5,6,7,8,9;只給一部分賦值,未設(shè)定初值的自動(dòng)被設(shè)定為0,數(shù)組長(zhǎng)度不能省略int a10= 0,1,2,3,4;int digit10= 0;6?一維數(shù)組的引用利用賦值語(yǔ)句為數(shù)組元素賦值for(i=0; i 10; i+)ai=0;數(shù)組的輸入for(i=0; i 10; i+)scanf(“%f”, &scorei);數(shù)組的輸出for(i=0; i
4、 10; i+)printf(“%6.2f”, scorei);7一維數(shù)組的編程實(shí)例二、實(shí)例1 根據(jù)條件對(duì)數(shù)據(jù)進(jìn)行篩選某個(gè)公司計(jì)劃由職工推選一名辦公室主任。假設(shè)有10名候選人準(zhǔn)備參與競(jìng)選。編寫一個(gè)程序,輸入一組選舉人的投票信息,統(tǒng)計(jì)每個(gè)候選人的得票數(shù)目及選舉結(jié)果。P81,例4-18?問(wèn)題分析記錄每位候選人的得票數(shù)量(一維數(shù)組)投票可通過(guò)循環(huán)輸入110之間的整型數(shù)值來(lái)模擬,需對(duì)候選人進(jìn)行編號(hào)。例如,輸入3代表某個(gè)職工選舉編碼為3的候選人找出最多的得票數(shù)量再?gòu)乃械暮蜻x人中篩選出得票數(shù)量與最高得票數(shù)量相同的人(可能有多人)9?數(shù)據(jù)對(duì)象每位候選人的得票數(shù)量intvote10投票時(shí)輸入的編碼intco
5、deintwinner得票數(shù)量最高?約束條件假設(shè)投票時(shí)以0作為輸入的結(jié)束標(biāo)志輸入無(wú)效編碼的檢驗(yàn)10?算法描述 開cod輸入選選票合法code 輸出錯(cuò)誤信計(jì)數(shù)器code-code 職工投11 程#include 序#define NUM 10 /* 候選人人數(shù)*/代main( int voteNUM = 0;int code, i, winner; /*職工投*printf(Enter your selection:n); do scanf(%d, &code)if (codeNUM) /*檢驗(yàn)輸入的編碼是否有*printf(Invalid vote.) else if (code!=0vote
6、code-1 = votecode-1+1;/*累加票* while (code!=0)12 /* 輸出選票*/printf( The amount of votes is :);for (i=0; iNUM; i+) 問(wèn)題printf(M, votei)改/*計(jì)算最高得票數(shù)*winner = 0winner = 0for (i=1; iNUM; i+) for (i=1; ivotewinnerif (voteivotewinnerwinner = iwinner = i后面是否修改,如何修/*輸出得票最高的所有候選*printf(The winner :)for (i=winner; iN
7、UM; i+) if (votei=votewinnerprintf(=, i+1); 13根據(jù)需求對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)?為了滿足特定的需要,對(duì)一組數(shù)據(jù)的某些特征進(jìn)行統(tǒng)計(jì)是一項(xiàng)經(jīng)常遇到的基本操作例如?統(tǒng)計(jì)一段文本中某個(gè)字符出現(xiàn)的頻率?統(tǒng)計(jì)學(xué)生考試的平均成績(jī)?在C程序中,參與統(tǒng)計(jì)操作的批量數(shù)據(jù)可以用一維數(shù)組來(lái)組織,具體統(tǒng)計(jì)過(guò)程可以通過(guò)邏輯判斷、累計(jì)、算術(shù)運(yùn)算等基本操作手段實(shí)現(xiàn)14教材P84 例4-2:編寫一個(gè)程序,從鍵盤讀入一行文本,統(tǒng)計(jì)每個(gè)英文字母出現(xiàn)的頻率?該題與上一章的3.5 例5的方法類似?基本方法用一維數(shù)組構(gòu)造26個(gè)用于記錄每個(gè)字母出現(xiàn)次數(shù)的計(jì)數(shù)器用數(shù)組下標(biāo)來(lái)區(qū)分不同字母,且順序一致輸入的字
8、符如果是字母,則按其在字母表中的順序找到相應(yīng)的計(jì)數(shù)器15 ?算法描述開ch=getchar(ch!n是大輸出統(tǒng)計(jì)結(jié)是小相應(yīng)計(jì)數(shù)器結(jié)相應(yīng)計(jì)數(shù)器16 #include 問(wèn)題:#define NUM 26 main( )若只輸出計(jì)數(shù)次數(shù) int letterNUM = 0; 的結(jié)果,應(yīng)大于char ch; 如何修改int iprintf(Enter text linen);while (ch=getchar() != n) *檢測(cè)是否為大寫字if (A=ch & ch=Z) /*+1; ch-Aletterch-A = letterelse */if (a=ch & ch=z) /* 檢測(cè)是否為小寫
9、字母+1;ch-ach-aletter = letter*/* 輸出每個(gè)英文字母出現(xiàn)的次數(shù) for (i=0; iNUM; i+)printf(%c:%d, A+i, letteri);17實(shí)例2:大獎(jiǎng)賽每年中央電視臺(tái)都要舉辦青年歌手大獎(jiǎng)賽。假設(shè)有13位評(píng)委參與評(píng)分工作。計(jì)算每位歌手最終得分的方法是:首先去掉一個(gè)最高分和一個(gè)最低分,然后計(jì)算剩余11個(gè)分?jǐn)?shù)的平均值,所得結(jié)果就是選手的最終得分。希望編寫一個(gè)程序,幫助工作人員計(jì)算每個(gè)歌手的分?jǐn)?shù)。18?數(shù)據(jù)對(duì)象分析用一維數(shù)組存儲(chǔ)13位評(píng)委給出的分?jǐn)?shù)floatscore13尋找最高分和最低分floatmaxValue,minValue計(jì)算剩余11個(gè)分?jǐn)?shù)
10、的平均分floatsum19?算法描述 開始20?程序代碼 #include stdio.h/* 評(píng)委人*#define NUM 1main( float scoreNUMint ifloat minValue, maxValue, sum/*輸1位評(píng)委給出的分*printf(Enter 13 score:)for (i=0; iNUM; i+)scanf(%f, &scorei)21 /* 找出最高分、最低分,并同時(shí)累加13個(gè)分?jǐn)?shù)的總和*/minValue = score0;maxValue = score0sum = score0for (i=1; iNUM; i+) if (scoreimaxValue)maxValue = scoreisum = sum+scorei/*計(jì)算并輸出歌手的最終得*sum = (summinValue-maxValue)/NUM-)printf(Final score is %6.2f, sum); 22排序問(wèn)題?將一組無(wú)序的數(shù)列重新排列成非遞減或非遞增的順序是一種經(jīng)常需要的操作。例如,在管理學(xué)生成績(jī)的應(yīng)用程序中,可以用一個(gè)數(shù)列表示一個(gè)班級(jí)的學(xué)生成績(jī),并按照從高到低的順序重新排列,以便確定獲得獎(jiǎng)學(xué)金的學(xué)生23實(shí)例3 選擇排序P93 例4-6題目?用簡(jiǎn)單選擇法對(duì)從鍵盤輸入的10個(gè)整數(shù)由小到大排序(升序)。數(shù)據(jù)對(duì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考語(yǔ)文新增分大一輪人教版講義專題八文言文閱讀Ⅲ核心突破五
- 私人理發(fā)師剪發(fā)服務(wù)合同協(xié)議
- 知識(shí)產(chǎn)權(quán)許可買賣合同
- 道路運(yùn)輸擔(dān)保合同
- 智慧醫(yī)療大數(shù)據(jù)分析平臺(tái)建設(shè)項(xiàng)目合同
- 汽車用品知識(shí)培訓(xùn)課件
- 2024學(xué)院團(tuán)委工作總結(jié)(7篇)
- 臨街商用房屋租賃合同書(29篇)
- DB31∕608-2020 塑料薄膜單位產(chǎn)品能源消耗限額
- 2025年教學(xué)創(chuàng)新:紫藤蘿瀑布教案案例
- GB/T 43868-2024電化學(xué)儲(chǔ)能電站啟動(dòng)驗(yàn)收規(guī)程
- 2024年時(shí)政試題庫(kù)(綜合卷)
- 追悼會(huì)主持詞開場(chǎng)白-追悼會(huì)流程主持詞
- Unit7ArtLesson2BeijingOpera課件高中英語(yǔ)北師版
- 人教版七年級(jí)數(shù)學(xué)下冊(cè) 第五章 相交線與平行線5.4 平移(課件)
- 數(shù)學(xué)之美:欣賞數(shù)學(xué)的優(yōu)雅與美麗
- 2023高考語(yǔ)文文言文復(fù)習(xí):《說(shuō)苑》練習(xí)題(含答案解析)
- 成都印鈔公司招聘考試題
- 低血糖健康宣教
- 跨文化商務(wù)交際導(dǎo)論-教學(xué)課件Unit 2 Intercultural business communication
- 《射頻同軸電纜》課件2
評(píng)論
0/150
提交評(píng)論