版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計數(shù)組數(shù)組是程序處理大量數(shù)據(jù)的重要手段C語言程序設(shè)計數(shù)組數(shù)組是程序處理大量數(shù)據(jù)的重要手段1數(shù)據(jù)類型基本數(shù)據(jù)類型:
整型:int,unsignedint,long
實型:float,double,longdouble
字符型:char構(gòu)造數(shù)據(jù)類型:
數(shù)組:無關(guān)鍵字
結(jié)構(gòu):struct
共用體:union數(shù)據(jù)類型基本數(shù)據(jù)類型:
整型:int,unsign2數(shù)組的定義……W[0]W[1]W[8]W[9]W定義:數(shù)據(jù)類型
數(shù)組名[數(shù)組長度]例:intw[10];floatdata[100];longclass[34];charname[30];doublenumber,a[5],i,b[4];數(shù)組的本質(zhì):一組相同類型的變量的順序集合。數(shù)組的定義……W[0]W[1]W[8]W[9]W定義:例:數(shù)3注意事項命名規(guī)則與基本類型變量相同;floatMs.Smth[15];int341401[34];必須指明長度;intnumber[10];doublex[3*4+5];charname[];方括號是數(shù)組的標(biāo)志;inta(10);longb{4};只有一個名字;同類型變量的集合.只能由字母、數(shù)字、下劃線組成;第一個字符不能是數(shù)字;不能使用保留字??梢允浅A炕虺A勘磉_(dá)式注意事項命名規(guī)則與基本類型變量相同;只能由字母、數(shù)字、下劃線4數(shù)組的初始化例: inta[4]={1,2,3,4};1234a[0]a[1]a[2]a[3]a數(shù)組的初始化例:1234a[0]a[1]a[2]a[3]a5數(shù)組的初始化完整初始化:
floatx[3]={1.5,2,3.5};
inta[4]={0,1,2,3};部分初始化:
floatx[5]={1.5,2,3.5};
charname[30]={‘N’,’o’,’’,’N’,’a’,’m’,’e’};
部分初始化只能在前部完整初始化的簡略方式:
floatx[]={1.5,2,3.5,4};
inta[]={1,2,3,4,5,6,7,8,9,10};無初始化:
floatx[4];
inta[3];常見錯誤:inta[4]={1,2,3,4,5};int@sohu[3]={1,2,3};floatdata[10]={};intb[6]={1,2,3,,5,6};inti;floatdata[i]={3,2,1};floatx;floatdata[x]={3,2,1};數(shù)組的初始化完整初始化:
floatx[3]={1.5,6數(shù)組的使用與基本變量相同的用法:
intnum[4]={0,0,0,0};
num[0]=1;
num[1]=5;
num[2]=2;數(shù)組中的變量必須是相同類型的:
num[1]=1;
num[2]=3.14;→num[2]=3;
num[3]=‘a(chǎn)’;→num[3]=97;使用與定義的區(qū)別:
inta[3];→定義語句
a[3]=3;→賦值語句數(shù)組的邊界:
下標(biāo)的變化范圍從0開始。
num[0]=1;
num[1]=5;
num[2]=2;
num[3]=0;數(shù)組的使用與基本變量相同的用法:
intnum[4]={07數(shù)組的存貯方式a[0]a[1]a[2]a[3]a[4]a[5]b[0]b[1]b[2]b[3]b[4]c[0]c[1]abc注意:C語言中,數(shù)組的越界使用是最常見的隱形錯誤,是程序調(diào)試的難點。計算機內(nèi)存是線性空間inta[6];intb[5];intc[2];數(shù)組的存貯方式a[0]a[1]a[2]a[3]a[4]a[58數(shù)組的使用例1.數(shù)組基本操作#include<stdio.h>main(){ inta[10],i; a[0]=1; a[1]=2; a[2]=a[0]+a[1]; a[3]=a[2]*a[1]; printf(“%d,%d,%d,%d”, a[0],a[1],a[2],a[3]);}例2.數(shù)組基本操作#include<stdio.h>main(){ inta[100],i; for(i=0;i<100;i++){ a[i]=i; }}數(shù)組的使用例1.數(shù)組基本操作例2.數(shù)組基本操作9例3:輸入一個大數(shù),計算其位數(shù)并逆向打印#include<stdio.h>main(){ charc; intdata[100],k,n=0; while((c=getchar())!=‘\n’){ data[n]=c-48; n++; } printf(“%d\n”,n); for(k=n-1;k>=0,k--)
printf(“%d”,data[k]);}數(shù)組的應(yīng)用if(c>‘0’&&c<’9’){ data[n]=c-48; n++;}if(n>=100)break;較高的程序容錯性是一個優(yōu)秀程序區(qū)別于普通程序的重要標(biāo)志之一。例3:輸入一個大數(shù),計算其位數(shù)并逆向打印數(shù)組的應(yīng)用if(c10//--------------sort------------------ for(i=0;i<num;i++){ max=data[i];imax=i; for(k=i;k<num;k++){ if(data[k]>max) { max=data[k]; imax=k; } } temp=data[i]; data[i]=data[imax]; data[imax]=temp; } for(i=0;i<num;i++)printf("%f\n",data[i]);}數(shù)組的應(yīng)用例4:選擇法排序確定搜索范圍;遍歷數(shù)據(jù),選出其中的最大值;將最大的數(shù)據(jù)和最前面的數(shù)據(jù)交換;搜索范圍減小一個;重復(fù)步驟2和3,直至排序完畢。選出一個最大的交換#include<stdio.h>voidmain(){ floatdata[100],temp,max; inti,k,imax,num;//----------inputdata-------------- for(i=0;i<100;i++){ scanf("%f",&data[i]); if(data[i]==-9999.0)break; } num=i;//-----datanumber讀入數(shù)據(jù)//--------------sort---------11 for(;;){ change=0; for(k=0;k<num-1;k++){ if(data[k]<data[k+1]){ temp=data[k]; data[k]=data[k+1]; data[k+1]=temp; change=1; } } if(change==0)break; } for(i=0;i<num;i++) printf("%f\n",data[i]);}數(shù)組的應(yīng)用例5.冒泡法排序1.掃描數(shù)組,相鄰元素相比較,將較大的調(diào)換到前面。2.重復(fù)掃描,直至沒有需要交換的元素。#include<stdio.h>voidmain(){ floatdata[100],temp; inti,k,change,num; for(i=0;i<100;i++){ scanf("%f",&data[i]); if(data[i]==-9999.0)break; } num=i;相鄰兩數(shù)比較交換變動標(biāo)志變動標(biāo)志 for(;;)數(shù)組的應(yīng)用例5.冒泡法排序#inclu12數(shù)組的應(yīng)用例6.用篩選法求質(zhì)數(shù)#include<stdio.h>main(){intdata[100],i,j,step;for(i=0;i<100;i++)data[i]=i+1;for(i=1;i<100;i++){if(data[i]!=0){step=data[i];for(j=i+step;j<100;j+=step)data[j]=0;}}for(i=0;i<100;i++){if(data[i]!=0)printf("%d,",data[i]);}}思路:12345678910111213141516171819202122232425262728293031323334…100刪除操作注意:數(shù)組的下標(biāo)從零開始數(shù)組的應(yīng)用例6.用篩選法求質(zhì)數(shù)#include<stdio13數(shù)組的應(yīng)用例7.計算循環(huán)小數(shù) for(k=0;;k++){ q=a1/a2; r=a1%a2; q_array[k]=q; finish=0; for(i=0;i<k;i++){ if(r==r_array[i]){ finish=1; start=i+1; break; } } if(finish==1)break; r_array[k]=r; a1=r*10; } for(i=0;i<k+1;i++){ if(i==1)printf("."); if(i==start)printf("["); printf("%1d",q_array[i]); } printf("]\n");}思路:1.記錄每次除法的余數(shù);2.和以前的記錄比較,直至發(fā)現(xiàn)重復(fù)為止。#include<stdio.h>voidmain(){ inta1,a2,q,r,q_array[1000],r_array[1000]; inti,k,start,finish=0; scanf("%d",&a1); scanf("%d",&a2);將新得到的余數(shù)與記錄的所有余數(shù)比較將余數(shù)記錄下來并作為新的被除數(shù)數(shù)組的應(yīng)用例7.計算循環(huán)小數(shù) for(k=0;;k++){思14二維數(shù)組的定義定義:數(shù)據(jù)類型
數(shù)組名[長度1][長度2]W[0][0]W[0][1]W[0][2]W[1][0]W[1][1]W[1][2]intw[2][3];計算機的內(nèi)存是線性空間。右邊的下標(biāo)變化較快。W[0][0]W[0][1]W[0][2]W[1][0]W[1][1]W[1][2]二維數(shù)組的定義定義:W[0][0]W[0][1]W[0][215二維數(shù)組的初始化完全初始化:inta[2][3]={{1,2,3},{4,5,6}}; (分行初始化)inta[2][3]={1,2,3,4,5,6};
(順序初始化)完全初始化的簡略形式:inta[][3]={{1,2,3},{4,5,6}};inta[][3]={1,2,3,4,5,6};部分初始化:inta[3][3]={{2},{},{3,1}};200000310二維數(shù)組的初始化完全初始化:20000031016二維數(shù)組的應(yīng)用例1.二維數(shù)組的賦值#include<stdio.h>main(){ inti,j,array[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) array[i][j]=i*3+j;}01234567891011二維數(shù)組的應(yīng)用例1.二維數(shù)組的賦值01234567891017二維數(shù)組的應(yīng)用矩陣運算123456789147258369ab147258369a′182182548214881143250327712250122194a?ba×b#include<stdio.h>voidmain(){inta[][3]={{1,2,3},{4,5,6},{7,8,9}};intb[][3]={{1,4,7},{2,5,8},{3,6,9}};intc[3][3];inti,j;for(i=0;i<3;i++){ for(j=0;j<3;j++){ c[i][j]=a[i][j]*b[i][j]; printf("%d",c[i][j]); } printf("\n");}}矩陣運算與計算機繪圖是二維數(shù)組的典型應(yīng)用二維數(shù)組的應(yīng)用矩陣運算123456789147258369a18圖形處理、數(shù)學(xué)計算、數(shù)據(jù)庫等。二維數(shù)組的應(yīng)用!_|*~=-.,|_,-'`||/^\!_/\|*`~-.,/,\|.-~^`/#"\|_/##__\___|___[]_[]_[]_[][]_[]_[]_[]_[]|_=_-=_-=_|!_|_=_=-_-_==_|!_|=_=-||*`--,_-_||*`~-.,=[]||.-'|=[]|!_|_.-"`_-|||_=--||*`~-.,||=_-|/^\|=_=-||_,-~`/^\|_-=[]|_/\_|_=-___|_|_/\|=_-|[]/,\[]_[]_[]_[]_[]_[]_/,\[]=-||/#"\_=-___=__=__-=-_-=_/#"\|_[]|_/##__\_-_=______/##__\_-|\[]_[]_[]_[]=_0~{___}~0[]_[]_[]_[]=-|\|_=__-_=-_=_|-=_|,||_=-___-_=-__|_|\|_-=-|-_|((*||=_=|-|___\|=-_=|=_|`||_-=_|=_|/+\||=_-|_=_`-.-`|=_==|=_-||+|||-_=-_|=_=|=_=-_|=||+|||=_-/+\|-=|_=-/+\|=_|^^^||=_|+|+||=--_,--,_|_=|+|+||-_|=||-|+|+||-_=/||\|=_|+|+||-=_|_-/|=_=|+|+||=_=|||||_-|+|+||_=|=/|_^^^^^|=-||<&>|=_=^^^^^|_=-|/|=_=|=_-_|||||=_|-_|
((`'-"``""-'`))
)--(
/(o_o)\
\(0)/
_'-.._'='_..-'_
/`;#'#'#.-.#'#'#;`\
\_))'#'((_/
#..#
'#..#'
/'#..#'\
_\\'#..#'//_
(((___)'#'(___)
圖形處理、二維數(shù)組的應(yīng)用19總結(jié)數(shù)組的各元素必須類型相同;數(shù)組的長度定義必須是常量或常量表達(dá)式;數(shù)組在內(nèi)存中是線性存貯;數(shù)組元素具有簡單變量的一切性質(zhì);不允許整體操作;數(shù)組的下標(biāo)從0開始;系統(tǒng)不對數(shù)組操作進(jìn)行越界檢查。數(shù)組的本質(zhì):一組相同類型的變量的順序集合。總結(jié)數(shù)組的各元素必須類型相同;數(shù)組的本質(zhì):一組相同類型的變量20上機作業(yè)1.通過鍵盤輸入一組數(shù)據(jù),對該組數(shù)據(jù)進(jìn)行排序。排序完成后,通過鍵盤輸入一個數(shù),請按排序的規(guī)律將它插入到數(shù)組中。2.通過鍵盤輸入兩個方陣,計算各個方陣的轉(zhuǎn)置陣和所有元素之和,以及兩矩陣的點積、叉積。上機作業(yè)1.通過鍵盤輸入一組數(shù)據(jù),對該組數(shù)據(jù)進(jìn)行排序。排序21字符數(shù)組與字符串字符數(shù)組 charuniversity[20]={'B','U','A','A'};.......................BUAA012319字符串 charuniversity[20]={"BUAA"};.......................BUAA012319\04′\0′是字符串區(qū)別于字符數(shù)組的標(biāo)志,如果沒有′\0′,專用于字符串的一些操作則不能使用,但它也是合法的,只是普通的字符數(shù)組而已。字符數(shù)組與字符串字符數(shù)組 charuniversity[222字符串的定義:
charclass[20];字符串的定義與初始化注意:如果只定義而未初始化,則字符串和字符數(shù)組 形式上是一樣的。字符串初始化:charclass[20]={"BUAA"};charclass[20]="BUAA";charclass[]="BUAA";字符串的定義:字符串的定義與初始化注意:如果只定義而未初始化23字符串長度計算函數(shù)——strlen charclass[]="391401"; i=strlen(class); i=strlen("BeijingUniversityofAeronauticsandAstronautics");
注意:'\0'是字符串的結(jié)束標(biāo)志,它占用空間,但不是串的一部分。字符串專用函數(shù)字符串拷貝函數(shù)——strcpy
charuniversity[30]="Buaa",class[]="391401"; strcpy(university,class); 注意: 1.函數(shù)自動處理'\0'; 2.第一個字符串必須有足夠的空間; 3.不能采用university=class的方式拷貝字符串。字符串長度計算函數(shù)——strlen字符串專用函數(shù)字符串拷24字符串專用函數(shù)字符串比較函數(shù)——strcmp 比較兩個字符串,根據(jù)結(jié)果的不同返回不同的值。 返回值:當(dāng)S1>S2時,返回正數(shù); 當(dāng)S1<S2時,返回負(fù)數(shù); 當(dāng)S1=S2時,返回0。 字符串比較依據(jù):ASCII碼表。 charstring1[]="BUAA"; charstring2[]="Buaa391401"; 比較的方法:
從左至右,逐字符比較,直至發(fā)現(xiàn)不同。注意:字符串的長度不作為比較依據(jù)。字符串專用函數(shù)字符串比較函數(shù)——strcmp25字符串專用函數(shù)字符串拼接函數(shù)——strcat
charuniversity[30]="Buaa",class[]="391401"; strcat(university,class);
結(jié)果:Buaa391401注意: 1.函數(shù)自動處理'\0'; 2.第一個字符串必須有足夠的空間;
3.不能采用university=university+class;其它常用函數(shù)(string.h)大寫變?yōu)樾懞瘮?shù)——strlwr小寫變?yōu)榇髮懞瘮?shù)——strupr字符串查找函數(shù)——strstrstring.h不是C語言標(biāo)準(zhǔn)庫,在不同的系統(tǒng)中可以不一樣。字符串專用函數(shù)字符串拼接函數(shù)——strcat其它常用26字符串的輸入輸出字符串專用輸入函數(shù)——gets(str)
1.輸入的一切內(nèi)容均按字符串處理; 2.與scanf的主要區(qū)別是:可以輸入空格。 例: chara[10]; get(a);字符串專用輸出函數(shù)——puts(str) 1.相當(dāng)于printf(“%s”,......); 2.不推薦使用; 3.常用格式:printf(“%s”,a);★字符串的輸入輸出字符串專用輸入函數(shù)——gets(str)27字符串的應(yīng)用例:實現(xiàn)strstr功能 假設(shè)有一個著名高校的列表,希望能夠?qū)崿F(xiàn)查找某高校是否在該列表中。list[]="peking,tsinghua,fudan,beihang";name[]="buaa"; length1=strlen(list); length2=strlen(name); found=1; for(j=0;j<=length1-length2;j++){ if(name[0]==list[j]){ for(i=0;i<length2;i++) if(name[i]!=list[j+i]) found=0; } } if(found==1)printf("Yes,%sisfamous!\n",name); elseprintf(“No,%sisn'tfamous!\n",name);}#include<stdio.h>#include<string.h>voidmain(){ charlist[]="peking,tsinghua,beihang"; charname[]="beihang"; intlength1,length2,i,j,found;
作業(yè):改正程序錯誤,補充該程序的功能,name由用戶鍵盤輸入。字符串的應(yīng)用例:實現(xiàn)strstr功能 length1=str28C語言程序設(shè)計數(shù)組數(shù)組是程序處理大量數(shù)據(jù)的重要手段C語言程序設(shè)計數(shù)組數(shù)組是程序處理大量數(shù)據(jù)的重要手段29數(shù)據(jù)類型基本數(shù)據(jù)類型:
整型:int,unsignedint,long
實型:float,double,longdouble
字符型:char構(gòu)造數(shù)據(jù)類型:
數(shù)組:無關(guān)鍵字
結(jié)構(gòu):struct
共用體:union數(shù)據(jù)類型基本數(shù)據(jù)類型:
整型:int,unsign30數(shù)組的定義……W[0]W[1]W[8]W[9]W定義:數(shù)據(jù)類型
數(shù)組名[數(shù)組長度]例:intw[10];floatdata[100];longclass[34];charname[30];doublenumber,a[5],i,b[4];數(shù)組的本質(zhì):一組相同類型的變量的順序集合。數(shù)組的定義……W[0]W[1]W[8]W[9]W定義:例:數(shù)31注意事項命名規(guī)則與基本類型變量相同;floatMs.Smth[15];int341401[34];必須指明長度;intnumber[10];doublex[3*4+5];charname[];方括號是數(shù)組的標(biāo)志;inta(10);longb{4};只有一個名字;同類型變量的集合.只能由字母、數(shù)字、下劃線組成;第一個字符不能是數(shù)字;不能使用保留字??梢允浅A炕虺A勘磉_(dá)式注意事項命名規(guī)則與基本類型變量相同;只能由字母、數(shù)字、下劃線32數(shù)組的初始化例: inta[4]={1,2,3,4};1234a[0]a[1]a[2]a[3]a數(shù)組的初始化例:1234a[0]a[1]a[2]a[3]a33數(shù)組的初始化完整初始化:
floatx[3]={1.5,2,3.5};
inta[4]={0,1,2,3};部分初始化:
floatx[5]={1.5,2,3.5};
charname[30]={‘N’,’o’,’’,’N’,’a’,’m’,’e’};
部分初始化只能在前部完整初始化的簡略方式:
floatx[]={1.5,2,3.5,4};
inta[]={1,2,3,4,5,6,7,8,9,10};無初始化:
floatx[4];
inta[3];常見錯誤:inta[4]={1,2,3,4,5};int@sohu[3]={1,2,3};floatdata[10]={};intb[6]={1,2,3,,5,6};inti;floatdata[i]={3,2,1};floatx;floatdata[x]={3,2,1};數(shù)組的初始化完整初始化:
floatx[3]={1.5,34數(shù)組的使用與基本變量相同的用法:
intnum[4]={0,0,0,0};
num[0]=1;
num[1]=5;
num[2]=2;數(shù)組中的變量必須是相同類型的:
num[1]=1;
num[2]=3.14;→num[2]=3;
num[3]=‘a(chǎn)’;→num[3]=97;使用與定義的區(qū)別:
inta[3];→定義語句
a[3]=3;→賦值語句數(shù)組的邊界:
下標(biāo)的變化范圍從0開始。
num[0]=1;
num[1]=5;
num[2]=2;
num[3]=0;數(shù)組的使用與基本變量相同的用法:
intnum[4]={035數(shù)組的存貯方式a[0]a[1]a[2]a[3]a[4]a[5]b[0]b[1]b[2]b[3]b[4]c[0]c[1]abc注意:C語言中,數(shù)組的越界使用是最常見的隱形錯誤,是程序調(diào)試的難點。計算機內(nèi)存是線性空間inta[6];intb[5];intc[2];數(shù)組的存貯方式a[0]a[1]a[2]a[3]a[4]a[536數(shù)組的使用例1.數(shù)組基本操作#include<stdio.h>main(){ inta[10],i; a[0]=1; a[1]=2; a[2]=a[0]+a[1]; a[3]=a[2]*a[1]; printf(“%d,%d,%d,%d”, a[0],a[1],a[2],a[3]);}例2.數(shù)組基本操作#include<stdio.h>main(){ inta[100],i; for(i=0;i<100;i++){ a[i]=i; }}數(shù)組的使用例1.數(shù)組基本操作例2.數(shù)組基本操作37例3:輸入一個大數(shù),計算其位數(shù)并逆向打印#include<stdio.h>main(){ charc; intdata[100],k,n=0; while((c=getchar())!=‘\n’){ data[n]=c-48; n++; } printf(“%d\n”,n); for(k=n-1;k>=0,k--)
printf(“%d”,data[k]);}數(shù)組的應(yīng)用if(c>‘0’&&c<’9’){ data[n]=c-48; n++;}if(n>=100)break;較高的程序容錯性是一個優(yōu)秀程序區(qū)別于普通程序的重要標(biāo)志之一。例3:輸入一個大數(shù),計算其位數(shù)并逆向打印數(shù)組的應(yīng)用if(c38//--------------sort------------------ for(i=0;i<num;i++){ max=data[i];imax=i; for(k=i;k<num;k++){ if(data[k]>max) { max=data[k]; imax=k; } } temp=data[i]; data[i]=data[imax]; data[imax]=temp; } for(i=0;i<num;i++)printf("%f\n",data[i]);}數(shù)組的應(yīng)用例4:選擇法排序確定搜索范圍;遍歷數(shù)據(jù),選出其中的最大值;將最大的數(shù)據(jù)和最前面的數(shù)據(jù)交換;搜索范圍減小一個;重復(fù)步驟2和3,直至排序完畢。選出一個最大的交換#include<stdio.h>voidmain(){ floatdata[100],temp,max; inti,k,imax,num;//----------inputdata-------------- for(i=0;i<100;i++){ scanf("%f",&data[i]); if(data[i]==-9999.0)break; } num=i;//-----datanumber讀入數(shù)據(jù)//--------------sort---------39 for(;;){ change=0; for(k=0;k<num-1;k++){ if(data[k]<data[k+1]){ temp=data[k]; data[k]=data[k+1]; data[k+1]=temp; change=1; } } if(change==0)break; } for(i=0;i<num;i++) printf("%f\n",data[i]);}數(shù)組的應(yīng)用例5.冒泡法排序1.掃描數(shù)組,相鄰元素相比較,將較大的調(diào)換到前面。2.重復(fù)掃描,直至沒有需要交換的元素。#include<stdio.h>voidmain(){ floatdata[100],temp; inti,k,change,num; for(i=0;i<100;i++){ scanf("%f",&data[i]); if(data[i]==-9999.0)break; } num=i;相鄰兩數(shù)比較交換變動標(biāo)志變動標(biāo)志 for(;;)數(shù)組的應(yīng)用例5.冒泡法排序#inclu40數(shù)組的應(yīng)用例6.用篩選法求質(zhì)數(shù)#include<stdio.h>main(){intdata[100],i,j,step;for(i=0;i<100;i++)data[i]=i+1;for(i=1;i<100;i++){if(data[i]!=0){step=data[i];for(j=i+step;j<100;j+=step)data[j]=0;}}for(i=0;i<100;i++){if(data[i]!=0)printf("%d,",data[i]);}}思路:12345678910111213141516171819202122232425262728293031323334…100刪除操作注意:數(shù)組的下標(biāo)從零開始數(shù)組的應(yīng)用例6.用篩選法求質(zhì)數(shù)#include<stdio41數(shù)組的應(yīng)用例7.計算循環(huán)小數(shù) for(k=0;;k++){ q=a1/a2; r=a1%a2; q_array[k]=q; finish=0; for(i=0;i<k;i++){ if(r==r_array[i]){ finish=1; start=i+1; break; } } if(finish==1)break; r_array[k]=r; a1=r*10; } for(i=0;i<k+1;i++){ if(i==1)printf("."); if(i==start)printf("["); printf("%1d",q_array[i]); } printf("]\n");}思路:1.記錄每次除法的余數(shù);2.和以前的記錄比較,直至發(fā)現(xiàn)重復(fù)為止。#include<stdio.h>voidmain(){ inta1,a2,q,r,q_array[1000],r_array[1000]; inti,k,start,finish=0; scanf("%d",&a1); scanf("%d",&a2);將新得到的余數(shù)與記錄的所有余數(shù)比較將余數(shù)記錄下來并作為新的被除數(shù)數(shù)組的應(yīng)用例7.計算循環(huán)小數(shù) for(k=0;;k++){思42二維數(shù)組的定義定義:數(shù)據(jù)類型
數(shù)組名[長度1][長度2]W[0][0]W[0][1]W[0][2]W[1][0]W[1][1]W[1][2]intw[2][3];計算機的內(nèi)存是線性空間。右邊的下標(biāo)變化較快。W[0][0]W[0][1]W[0][2]W[1][0]W[1][1]W[1][2]二維數(shù)組的定義定義:W[0][0]W[0][1]W[0][243二維數(shù)組的初始化完全初始化:inta[2][3]={{1,2,3},{4,5,6}}; (分行初始化)inta[2][3]={1,2,3,4,5,6};
(順序初始化)完全初始化的簡略形式:inta[][3]={{1,2,3},{4,5,6}};inta[][3]={1,2,3,4,5,6};部分初始化:inta[3][3]={{2},{},{3,1}};200000310二維數(shù)組的初始化完全初始化:20000031044二維數(shù)組的應(yīng)用例1.二維數(shù)組的賦值#include<stdio.h>main(){ inti,j,array[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) array[i][j]=i*3+j;}01234567891011二維數(shù)組的應(yīng)用例1.二維數(shù)組的賦值01234567891045二維數(shù)組的應(yīng)用矩陣運算123456789147258369ab147258369a′182182548214881143250327712250122194a?ba×b#include<stdio.h>voidmain(){inta[][3]={{1,2,3},{4,5,6},{7,8,9}};intb[][3]={{1,4,7},{2,5,8},{3,6,9}};intc[3][3];inti,j;for(i=0;i<3;i++){ for(j=0;j<3;j++){ c[i][j]=a[i][j]*b[i][j]; printf("%d",c[i][j]); } printf("\n");}}矩陣運算與計算機繪圖是二維數(shù)組的典型應(yīng)用二維數(shù)組的應(yīng)用矩陣運算123456789147258369a46圖形處理、數(shù)學(xué)計算、數(shù)據(jù)庫等。二維數(shù)組的應(yīng)用!_|*~=-.,|_,-'`||/^\!_/\|*`~-.,/,\|.-~^`/#"\|_/##__\___|___[]_[]_[]_[][]_[]_[]_[]_[]|_=_-=_-=_|!_|_=_=-_-_==_|!_|=_=-||*`--,_-_||*`~-.,=[]||.-'|=[]|!_|_.-"`_-|||_=--||*`~-.,||=_-|/^\|=_=-||_,-~`/^\|_-=[]|_/\_|_=-___|_|_/\|=_-|[]/,\[]_[]_[]_[]_[]_[]_/,\[]=-||/#"\_=-___=__=__-=-_-=_/#"\|_[]|_/##__\_-_=______/##__\_-|\[]_[]_[]_[]=_0~{___}~0[]_[]_[]_[]=-|\|_=__-_=-_=_|-=_|,||_=-___-_=-__|_|\|_-=-|-_|((*||=_=|-|___\|=-_=|=_|`||_-=_|=_|/+\||=_-|_=_`-.-`|=_==|=_-||+|||-_=-_|=_=|=_=-_|=||+|||=_-/+\|-=|_=-/+\|=_|^^^||=_|+|+||=--_,--,_|_=|+|+||-_|=||-|+|+||-_=/||\|=_|+|+||-=_|_-/|=_=|+|+||=_=|||||_-|+|+||_=|=/|_^^^^^|=-||<&>|=_=^^^^^|_=-|/|=_=|=_-_|||||=_|-_|
((`'-"``""-'`))
)--(
/(o_o)\
\(0)/
_'-.._'='_..-'_
/`;#'#'#.-.#'#'#;`\
\_))'#'((_/
#..#
'#..#'
/'#..#'\
_\\'#..#'//_
(((___)'#'(___)
圖形處理、二維數(shù)組的應(yīng)用47總結(jié)數(shù)組的各元素必須類型相同;數(shù)組的長度定義必須是常量或常量表達(dá)式;數(shù)組在內(nèi)存中是線性存貯;數(shù)組元素具有簡單變量的一切性質(zhì);不允許整體操作;數(shù)組的下標(biāo)從0開始;系統(tǒng)不對數(shù)組操作進(jìn)行越界檢查。數(shù)組的本質(zhì):一組相同類型的變量的順序集合??偨Y(jié)數(shù)組的各元素必須類型相同;數(shù)組的本質(zhì):一組相同類型的變量48上機作業(yè)1.通過鍵盤輸入一組數(shù)據(jù),對該組數(shù)據(jù)進(jìn)行排序。排序完成后,通過鍵盤輸入一個數(shù),請按排序的規(guī)律將它插入到數(shù)組中。2.通過鍵盤輸入兩個方陣,計算各個方陣的轉(zhuǎn)置陣和所有元素之和,以及兩矩陣的點積、叉積。上機作業(yè)1.通過鍵盤輸入一組數(shù)據(jù),對該組數(shù)據(jù)進(jìn)行排序。排序49字符數(shù)組與字符串字符數(shù)組 charuniversity[20]={'B','U','A','A'};.......................BUAA012319字符串 charuniversity[20]={"BUAA"};.......................BUAA012319\04′\0′是字符串區(qū)別于字符數(shù)組的標(biāo)志,如果沒有′\0′,專用于字符串的一些操作則不能使用,但它也是合法的,只是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024評標(biāo)保密協(xié)議范本:能源項目專用3篇
- 二零二四停工補償協(xié)議附緊急修復(fù)及重建計劃3篇
- 2025年度智慧園區(qū)場地租賃及廠房使用權(quán)轉(zhuǎn)讓合同協(xié)議書3篇
- 軸類自由鍛課程設(shè)計
- 花藝課程設(shè)計的目的
- 2024版學(xué)校食堂承包合同協(xié)議
- 2024煤礦安全生產(chǎn)事故調(diào)查與分析服務(wù)協(xié)議
- 2024版施工圖設(shè)計合同補充協(xié)議書范本
- 2024年車輛抵押借款協(xié)議
- 2025年度新能源電池存貨質(zhì)押擔(dān)保協(xié)議3篇
- 畢淑敏心理咨詢手記在線閱讀
- 亞硝酸鈉安全標(biāo)簽
- pcs-985ts-x說明書國內(nèi)中文版
- GB 11887-2012首飾貴金屬純度的規(guī)定及命名方法
- 小品《天宮賀歲》臺詞劇本手稿
- 醫(yī)院患者傷口換藥操作課件
- 欠薪強制執(zhí)行申請書
- 礦山年中期開采重點規(guī)劃
- 資源庫建設(shè)項目技術(shù)規(guī)范匯編0716印刷版
- GC2級壓力管道安裝質(zhì)量保證體系文件編寫提綱
- 預(yù)應(yīng)力混凝土簡支小箱梁大作業(yè)計算書
評論
0/150
提交評論