版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造Lesson9數(shù)據(jù)的組織2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造學(xué)習(xí)目的:31學(xué)會(huì)運(yùn)用數(shù)組處置程序中的數(shù)據(jù)2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2向量數(shù)學(xué)定義:一組既有大小又有方向的量例如:向量d:(1,3,4,6,5,2,0,8)向量b:(100,300,200,400)特點(diǎn):1、是一組量2、有方向性,即每個(gè)數(shù)據(jù)在其中有位置2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2在C言語(yǔ)中,數(shù)組與向量對(duì)應(yīng),可以實(shí)現(xiàn)處置與向量相關(guān)的問(wèn)題數(shù)組:假設(shè)干類(lèi)型一樣的相關(guān)數(shù)據(jù)(變量)順序陳列在一同例如:向量d:(1,3,4,6,5,2,0,8)465208132024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2數(shù)組類(lèi)型的運(yùn)用背景〔處置向量問(wèn)題〕〔1〕同時(shí)存在假設(shè)干個(gè)用來(lái)描畫(huà)同一性質(zhì)且不同個(gè)體的數(shù)據(jù)(向量)?!?〕只需將這些數(shù)據(jù)組織在一同構(gòu)成批量數(shù)據(jù),運(yùn)用循環(huán)進(jìn)展處置。2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3一維數(shù)組3類(lèi)型數(shù)組名[長(zhǎng)度]定義數(shù)組普通方式:intarray[10]例:floatf[100];charch[5];一切元素都是int數(shù)組名長(zhǎng)度:10留意:必需是常量數(shù)組:array2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2數(shù)組名:d用位置(下標(biāo))表示。注:下標(biāo)從0開(kāi)場(chǎng)d[0]d[1]d[2]d[3]d[4]d[5]d[6]d[7]數(shù)組特性:1、有一致的名字,即數(shù)組名3、可經(jīng)過(guò)變量在其中的位置來(lái)表示它2、多個(gè)變量有序的陳列4、數(shù)組中的變量叫數(shù)組元素,它在其中的位置叫下標(biāo)2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3一維數(shù)組3數(shù)組定義后的元素初值是隨機(jī)數(shù)普通需求我們來(lái)初始化inta[10]={1,2,3,4,5,6,9,0,12,-1};inta[]={11,22,33,44,55};inta[5]={1};1234569012-1省略時(shí),長(zhǎng)度為5,2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3一維數(shù)組3數(shù)組元素的援用<數(shù)組變量名>[<下標(biāo)表達(dá)式>]例:d[3];#include<stdio.h>intmain(){intd[10]={1,0,4,2,3,4,5,6,30,40},s;s=d[0]+d[1]+d[4]+d[8];printf(“s=%d〞,s);return0;}d[2]d[6]d2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2例:從鍵盤(pán)輸入一個(gè)數(shù),按二進(jìn)制方式輸出分析:將一個(gè)數(shù)的一切二進(jìn)制位看成一個(gè)向量例如:假設(shè)輸入的是82那么是(0,1,0,1,0,0,1,0)問(wèn)題轉(zhuǎn)換成如何求該向量2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2C言語(yǔ)中的數(shù)組可以表示向量那么向量a(0,1,0,1,0,0,1,0)在C言語(yǔ)中就是01001001數(shù)組a因此問(wèn)題轉(zhuǎn)換成假設(shè)給數(shù)組a中的元素賦值提問(wèn):如何賦值,有沒(méi)有規(guī)律?2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2從鍵盤(pán)輸入的是82d[7]=0d[6]=1d[5]=0d[4]=0d[3]=1d[2]=0d[1]=1d[0]=0最后按照順序輸出d[0]—d[7]的值d[7]=n%2;n=n/2;d[6]=n%2;n=n/2;d[5]=n%2;n=n/2;d[4]=n%2;n=n/2;d[3]=n%2;n=n/2;d[2]=n%2;n=n/2;d[1]=n%2;n=n/2;d[0]=n%2;n=n/2;2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2思緒1、定義一個(gè)數(shù)組,長(zhǎng)度為82、定義變量n,i,n放所要轉(zhuǎn)換的數(shù),i作為訪問(wèn)數(shù)組中變量的位置3、從第7個(gè)開(kāi)場(chǎng),往前逐個(gè)給數(shù)組中的變量賦值4、從第0個(gè)開(kāi)場(chǎng),往后逐個(gè)輸出數(shù)組中的變量2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造流程圖2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組概念2#include<stdio.h> intmain(){intd[8],n,i;scanf("%d",&n);for(i=7;i>=0;i--){ d[i]=n%2; n=n/2;}for(i=0;i<=7;i++){ printf("%d",d[i]);}system("pause");return0;}2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組的妙用3例:輸出數(shù)列1,1,2,3,5,8……的前20項(xiàng)11235813213455思緒:將數(shù)列看成一向量1、定義一個(gè)長(zhǎng)度20個(gè)的數(shù)組表示向量2、根據(jù)位置關(guān)系逐個(gè)計(jì)算每個(gè)變量(元素)的值2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造#include<stdio.h>#defineNUM100 intmain(){intf[NUM],i;f[0]=1;f[1]=1;for(i=2;i<NUM;i++){f[i]=f[i-1]+f[i-2];}for(i=0;i<NUM;i++){printf(“%d,〞,f[i]);}return0;}lesson9_01.c2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組的妙用:課堂練習(xí)3求S=1/1+1/2+2/3+3/5+5/8+8/13+……后面20項(xiàng)的和分析s=1/1+1/2+2/3+3/5+5/8+……式中各項(xiàng)都是11235813…數(shù)列中的值,將其求出來(lái)放在數(shù)組中,然后逐個(gè)相除2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3一維數(shù)組的根本操作4數(shù)組的賦值利用賦值語(yǔ)句為數(shù)組賦值for(i=0;i<10;i++){vote[i]=0;}調(diào)用規(guī)范輸入函數(shù)為數(shù)組賦值for(i=0;i<10;i++){scanf(“%d〞,&vote[i]);}intvote[10];2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3一維數(shù)組的根本操作4數(shù)組的輸出for(i=0;i<10;i++){printf(“%5d〞,vote[i]);}intvote[10];2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組運(yùn)用5數(shù)組大小最好用宏來(lái)定義,以順應(yīng)未來(lái)能夠的變化#defineSIZE10
inta[SIZE];留意:1、數(shù)組一旦定義,不能改動(dòng)大小2、訪問(wèn)數(shù)組元素時(shí),下標(biāo)不能超越長(zhǎng)度,即下標(biāo)有效范圍[0,len)3、數(shù)組間不能整體賦值2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組運(yùn)用6假設(shè)有數(shù)組inta[10]={1,2,4,5,3,6,7,8,9,0};intb[10];假設(shè)需求使數(shù)組b中元素的值與a的一樣b=a(Ⅹ是錯(cuò)誤的)正確做法for(i=0;i<10;i++)b[i]=a[i];2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3課堂練習(xí)6從鍵盤(pán)輸入某班10位同窗C言語(yǔ)學(xué)習(xí)成果,輸出最高分2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組運(yùn)用5例2:運(yùn)用挑選法輸出18內(nèi)的一切素?cái)?shù)23456789101112131415161712180000000030042024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造#include<stdio.h>#include<math.h>#defineNUM18 intmain(){intdata[NUM],i,j,n;for(i=0;i<NUM;i++)/*給數(shù)組的元素賦值*/data[i]=i+1;n=sqrt(NUM);for(i=1;i<n;i++)/*將數(shù)組中非素?cái)?shù)置成0*/for(j=i+1;j<NUM;j++)if(data[i]!=0&&data[j]%data[i]==0)data[j]=0;for(i=1;i<NUM;i++)/*輸出*/if(data[i]!=0)printf("%6d",data[i]);return0;}lesson9_02.c2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組運(yùn)用5例3:知在一條鐵路上有十個(gè)站:
A,B,C,D,E,F,G,H,I,J,如以下圖所示127ABCDEFGHJI10020056131389875火車(chē)票費(fèi)用計(jì)算規(guī)那么:當(dāng)乘車(chē)間隔<300公里時(shí),每公里0.5元,>=300公里時(shí),超越部分每公里0.3元,設(shè)計(jì)一個(gè)程序,輸入兩個(gè)站的站名,計(jì)算其應(yīng)付的火車(chē)票費(fèi)用882024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組運(yùn)用5問(wèn)題分析運(yùn)用數(shù)組保管相鄰站之間的間隔經(jīng)過(guò)站名計(jì)算乘車(chē)間隔計(jì)算火車(chē)票費(fèi)用2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造#include<stdio.h>#defineNUM9 /*段數(shù)*/intmain(){intline[NUM]={100,200,56,131,38,98,75,88,127},i,distance=0; floatvalue;charstart,end,ctn;while(1){ printf("請(qǐng)輸入乘車(chē)起點(diǎn)站\n"); scanf("%c",&start);getchar(); printf("請(qǐng)輸入乘車(chē)終站\n"); scanf("%c",&end);getchar(); for(i=start-'A';i<end-'A';i++){ distance+=line[i]; } if(distance<300) value=0.5*distance; else value=0.5*300+0.35*(distance-300); printf("%c站-->%c站的火車(chē)票費(fèi)用為%.2f元\n",start,end,value);printf("能否繼續(xù)(Y/N)"); scanf("%c",&ctn);getchar(); if(ctn!='Y')break; system("cls");}return0;}lesson9_03.c2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造3數(shù)組運(yùn)用5根據(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é)生考試的平均成果等等都屬于統(tǒng)計(jì)操作。統(tǒng)計(jì)操作的結(jié)果往往是經(jīng)過(guò)對(duì)一切數(shù)據(jù)進(jìn)展掃描、判別或綜合加工得到的。在C程序中,參與統(tǒng)計(jì)操作的批量數(shù)據(jù)可以用一維數(shù)組來(lái)組織,詳細(xì)統(tǒng)計(jì)過(guò)程可以經(jīng)過(guò)邏輯判別、累計(jì)、算術(shù)運(yùn)算等根本操作手段實(shí)現(xiàn)。2024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造例4:統(tǒng)計(jì)一段文本中每個(gè)英文字母出現(xiàn)的次數(shù)。分析:定義一個(gè)數(shù)組letter,存放英文字母出現(xiàn)的次數(shù)00000000letterA的次數(shù)B的次數(shù)C的次數(shù)循環(huán)字符數(shù)組,針對(duì)每個(gè)字母,找到其在數(shù)組letter中的對(duì)應(yīng)位置,然后加13數(shù)組運(yùn)用52024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造00000000letterA的次數(shù)B的次數(shù)C的次數(shù)如何確定每個(gè)字母在letter中的位置呢?A對(duì)應(yīng)letter[0]B對(duì)應(yīng)letter[1]C對(duì)應(yīng)letter[2]下標(biāo):0‘A’-’A’下標(biāo):1‘B’-’A’下標(biāo):2‘C’-’A’3數(shù)組運(yùn)用52024/1/26電氣與信息工程學(xué)院計(jì)算機(jī)系制造#include<stdio.h>#defineNUM26intmai
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股票委托交易與金融科技企業(yè)合作合同
- 二零二五年度診所與高校醫(yī)院合作教學(xué)合同
- 應(yīng)急培訓(xùn)說(shuō)明會(huì)
- 店長(zhǎng)管理基礎(chǔ)知識(shí)培訓(xùn)
- 學(xué)校電工工作計(jì)劃
- 主管工作匯報(bào)模板
- 2025最專(zhuān)業(yè)勞動(dòng)合同范本
- 2025公證授權(quán)合同范本
- 2025期房轉(zhuǎn)讓合同范文
- 2025農(nóng)村磚廠租賃合同
- 廣東省惠州市2024-2025學(xué)年高一上學(xué)期期末考試英語(yǔ)試題(含答案)
- 醫(yī)院骨科2025年帶教計(jì)劃(2篇)
- 環(huán)境保護(hù)應(yīng)急管理制度執(zhí)行細(xì)則
- 2024-2030年中國(guó)通航飛行服務(wù)站(FSS)行業(yè)發(fā)展模式規(guī)劃分析報(bào)告
- 機(jī)械制造企業(yè)風(fēng)險(xiǎn)分級(jí)管控手冊(cè)
- 地系梁工程施工方案
- 藏文基礎(chǔ)-教你輕輕松松學(xué)藏語(yǔ)(西藏大學(xué))知到智慧樹(shù)章節(jié)答案
- 2024電子商務(wù)平臺(tái)用戶(hù)隱私保護(hù)協(xié)議3篇
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 英語(yǔ) 含答案
- 醫(yī)學(xué)教程 常見(jiàn)體表腫瘤與腫塊課件
- 內(nèi)分泌系統(tǒng)異常與虛勞病關(guān)系
評(píng)論
0/150
提交評(píng)論