版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
東華大學通信與電子工程系第七章數(shù)組一維數(shù)組二維數(shù)組及多維數(shù)組字符數(shù)組和字符串數(shù)組概念東華大學通信與電子工程系第七章數(shù)組一維數(shù)組二維數(shù)組及多東華大學通信與電子工程系東華大學通信與電子工程系東華大學通信與電子工程系東華大學通信與電子工程系東華大學通信與電子工程系輸入5個按學號排列的學生某門課的成績表,要求按與輸入次序相反的順序輸出#include<stdio.h>voidmain(){floats1,s2,s3,s4,s5;printf(“enterfivescores:");scanf("%f,%f,%f,%f,%f",&s1,&s2,&s3,&s4,&s5);printf("\nThescoreinreverseorderare:");printf("%f\n",s5);printf("%f\n",s4);printf("%f\n",s3);printf("%f\n",s2);printf("%f\n",s1);}這些數(shù)據(jù)具有共同的特點:由若干分量構成;數(shù)據(jù)的各個分量都是同一類型;這些分量是按一定順序排列的。東華大學通信與電子工程系輸入5個按學號排列的學生某門課的成東華大學通信與電子工程系數(shù)組概念構造數(shù)據(jù)類型之一數(shù)組:按序排列的具有相同類型的變量的集合。用數(shù)組名標識這一組數(shù)。元素:屬同一數(shù)據(jù)類型,用數(shù)組名和下標確定數(shù)組中的元素。
數(shù)組元素的作用相當于簡單變量東華大學通信與電子工程系數(shù)組概念構造數(shù)據(jù)類型之一東華大學通信與電子工程系一維數(shù)組的定義定義方式:數(shù)據(jù)類型數(shù)組名[常量表達式];
合法標識符代表數(shù)組元素的個數(shù),即數(shù)組長度下標從0開始7.1
一維數(shù)組
例:inta[5];表示有5個元素,元素的下標從0開始.數(shù)組a的元素分別為:a[0],a[1],a[2],a[3],a[4]例inti=15;intdata[i];(
不能用變量定義數(shù)組長度)例#defineM20floaty[4*M+1];(合法,M是符號常量)東華大學通信與電子工程系一維數(shù)組的定義合法標識符代表數(shù)組元東華大學通信與電子工程系一維數(shù)組的存儲C編譯程序用連續(xù)的內(nèi)存單元存放各個元素例
inta[6];a[0]0145a[1]a[2]a[3]a[4]a[5]23a編譯時分配連續(xù)內(nèi)存內(nèi)存總字節(jié)數(shù)=數(shù)組長度*
sizeof(元素數(shù)據(jù)類型)如:總字節(jié)數(shù)=6*2=12數(shù)組名代表的是數(shù)組在內(nèi)存中的首地址,是地址常量東華大學通信與電子工程系一維數(shù)組的存儲C編譯程序用連續(xù)的內(nèi)東華大學通信與電子工程系數(shù)組必須先定義,后使用數(shù)組元素表示形式:數(shù)組名[下標]其中:下標可以是常量或整型表達式例inta[10];printf(“%d”,a);(
)必須for(j=0;j<10;j++)printf(“%d\t”,a[j]);(
)例intt,data[5];t=data[2];//引用data數(shù)組中序號為2的元素。一維數(shù)組的引用注意:只能逐個引用數(shù)組元素,不能一次引用整個數(shù)組東華大學通信與電子工程系例inta[10]東華大學通信與電子工程系用數(shù)組實現(xiàn)#include<stdio.h>voidmain(){inti;floats[100];printf("Enterthescores:");for(i=0;i<100;i++)//數(shù)組元素的輸入
scanf("%f",&s[i]);printf("\nThescoresinreverseorderare:");for(i=99;i>=0;i--)//數(shù)組元素的輸出
printf("%f\n",s[i]);}
東華大學通信與電子工程系用數(shù)組實現(xiàn)#include<st東華大學通信與電子工程系初始化方式在定義數(shù)組時,為數(shù)組元素賦初值(在編譯階段使之得到初值)inta[5]={1,2,3,4,5};等價于:a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;說明:數(shù)組不初始化,其元素值為隨機數(shù)
數(shù)組不進行初始化時,編譯器不為其自動指定初始值。其初始值為系統(tǒng)分配給數(shù)組各元素的內(nèi)存單元原來的值,這個值是不可預知的。一維數(shù)組的初始化東華大學通信與電子工程系在定義數(shù)組時,為數(shù)組元素賦初值i東華大學通信與電子工程系數(shù)組元素賦初值
對全部元素賦初值。如:inta[10]={10,11,12,13,14,15,16,17,18,19}表示數(shù)組元素的值為:a[0]=10;a[1]=11;
a[9]=19;在對全部數(shù)組元素賦初值時,可不指定數(shù)組長度
如:inta[]={1,2,3,4,5,6};//編譯系統(tǒng)根據(jù)初值個數(shù)確定數(shù)組長度東華大學通信與電子工程系數(shù)組元素賦初值對全部元素賦初值東華大學通信與電子工程系
對部分元素賦初值(前面的連續(xù)元素)。如:在此,只有前5個元素初值確定,后面5個元素的值為0。intb[10]={0,1,2,3,4};表示數(shù)組元素的值為:b[0]=0;b[1]=1;b[2]=2;b[3]=3;b[4]=4;東華大學通信與電子工程系對部分元素賦初值(前面的東華大學通信與電子工程系#include<stdio.h>voidmain(){ inti,b[10]={0,1,2,3,4};for(i=0;i<10;i++) printf("%d\n",b[i]);}東華大學通信與電子工程系#include<stdio.h東華大學通信與電子工程系注意:不能只對不連續(xù)部分元素或后面的連續(xù)元素賦初值。語句:
inta[10]={,,,,,1,2,3,4,5};是錯誤的inta[10]={1,,3,,5,,7,,9,,};是錯誤的。錯誤:初始值的個數(shù)大于元素的個數(shù)如:intb[3]={3,6,2,7,3,1,9};是錯誤的東華大學通信與電子工程系注意:不能只對不連續(xù)部分元素或后面東華大學通信與電子工程系給一個不多于9位的正整數(shù),要求:1)求出它是幾位數(shù);2)分別輸出每一位數(shù)字;3)按逆序輸出各位數(shù)字#include<stdio.h>voidmain(){longintnumber,num;
inti,j,d[9]; printf("請輸入一個位數(shù)<=9的正整數(shù):"); scanf("%ld",&number);i=0; num=number;//保存輸入的整數(shù)的原值
do { d[i]=num%10; i++; num=num/10; }while(num);//d[0],d[1],...,分別存儲該整數(shù)的第1,2,...,位數(shù)字東華大學通信與電子工程系給一個不多于9位的正整數(shù),要求:1東華大學通信與電子工程系 if(i>9)//i的當前值為該數(shù)的位數(shù)
printf("輸入的整數(shù)已超出范圍!\n"); else { printf("%ld的位數(shù)為:%d\n",number,i);
printf("它的每位數(shù)字分別為:"); for(j=i-1;j>=0;j--)//分別輸出該數(shù)的各位數(shù)字
printf("%3d",d[j]); printf("\n"); printf("將該數(shù)逆序輸出為:"); for(j=0;j<i;j++) printf("%d",d[j]); printf("\n"); }}東華大學通信與電子工程系 if(i>9)東華大學通信與電子工程系排序過程:(1)比較第一個數(shù)與第二個數(shù),若為逆序a[0]>a[1],則交換;然后比較第二個數(shù)與第三個數(shù);依次類推,直至第n-1個數(shù)和第n個數(shù)比較為止——第一趟冒泡排序,結果最大的數(shù)被安置在最后一個元素位置上(2)對前n-1個數(shù)進行第二趟冒泡排序,結果使次大的數(shù)被安置在第n-1個元素位置(3)重復上述過程,共經(jīng)過n-1趟冒泡排序后,排序結束例用冒泡法對8個數(shù)排序東華大學通信與電子工程系排序過程:例用冒泡法對8個數(shù)排東華大學通信與電子工程系例3849657613273097
第一趟38496513273076
第二趟384913273065
第三趟3813273049
第四趟13273038
第五趟132730
第六趟4938659776132730
初始關鍵字n=8384976971397972730971376767627301365276530651313494930492738273830381327
第七趟例用冒泡法對8個數(shù)排序(圖解)東華大學通信與電子工程系例384965東華大學通信與電子工程系#defineN8#include<stdio.h>voidmain(){ inti,j,t,a[N]; printf(“Input8numberstobesorted:\n");for(i=0;
i<N;i++) scanf("%d",&a[i]);for(j=0;j<N-1;j++)
//外循環(huán)j控制比較的趟數(shù)N-1 for(i=0;i<N-1-j;i++)
//內(nèi)循環(huán)i控制一趟比較的次數(shù)N-1-j
if(a[i]>a[i+1])
{ t=a[i]; a[i]=a[i+1]; a[i+1]=t;
}printf("\nthesortednumbers:\n");for(i=0;i<N;i++) printf("%5d",a[i]);printf("\n");}東華大學通信與電子工程系#defineN8東華大學通信與電子工程系二維數(shù)組的定義定義方式:
數(shù)據(jù)類型數(shù)組名[常量表達式][常量表達式];例inta[3][4];floatb[2][5];intc[2][3][4];
inta[3,4];(
)行數(shù)列數(shù)元素個數(shù)=行數(shù)*列數(shù)7.2二維數(shù)組及多維數(shù)組東華大學通信與電子工程系例inta[3][4];東華大學通信與電子工程系例inta[3][4];20161720181920202120222320089201011201213201415200012002320045200067a[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[
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年國際spa原料供應合同
- 2024年度版權質(zhì)押合同版權價值評估與質(zhì)押期限
- 風控課件教學課件
- 2024年土地使用權抵押購房合同
- 2024年商標許可使用合同:某知名品牌
- 合同履約成本的會計處理分錄-記賬實操
- 2024年度個人向公司提供的借款合同模板
- 2024天然氣企業(yè)信息安全保護合同
- 2024年度大數(shù)據(jù)可視化設計合同
- 2024年店面租賃與管理合同
- “學、練、賽、評一體化”教學模式下學生核心素養(yǎng)培育模式探究
- 彩色多普勒超聲診斷儀投標方案(技術標)
- 集團25周年慶典活動創(chuàng)意思路案
- 營養(yǎng)與健康學校建設方案
- 被執(zhí)行人財產(chǎn)線索表
- (6.6)-第一章 領悟人生真諦 把握人生方向
- 初中物理第二章 聲現(xiàn)象作業(yè)設計初中物理第二章 聲現(xiàn)象作業(yè)設計
- 國網(wǎng)基建各專業(yè)考試題庫大全-技術專業(yè)(考題匯總)
- 基于社會效益與經(jīng)濟效益的大型醫(yī)療設備成本效益分析
- 國家開放大學《護理科研方法》形考任務1-4參考答案
- 體育社會學 第1章 體育社會學導論
評論
0/150
提交評論