




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Lesson11數(shù)據(jù)的組織結(jié)構(gòu)1lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第1頁!學(xué)習(xí)目標(biāo):31掌握二維數(shù)組的使用2lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第2頁!3字符數(shù)組2字符數(shù)組:數(shù)組元素的類型為字符hello\03lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第3頁!3字符數(shù)組2字符串用雙引號(hào)括起來的一串字符“1234”“Tom”“CLanuageProgram”4lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第4頁!3字符數(shù)組2字符數(shù)組的初始化(1)字符數(shù)組的初始化的基本方法charch[5]={'h','e','l','l','o'};(2)省略長度說明如:
charch[]={'h','e','l','l','o'};(3)使用字符串初始化字符數(shù)組:
charch[]={“abcde”};charch[]=“abcde”;abcde\05lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第5頁!3字符數(shù)組2字符串的輸出
1、puts(str);
2、printf(%s”,str);puts將字符串的內(nèi)容顯示到標(biāo)準(zhǔn)輸出設(shè)備——屏幕上,并換行。
6lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第6頁!3字符數(shù)組2例1:將用戶以字符串形式輸入的兩個(gè)實(shí)型數(shù)值轉(zhuǎn)換成double類型,并顯示輸出這兩個(gè)實(shí)型數(shù)值及它們相加的結(jié)果。7lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第7頁!3字符數(shù)組2數(shù)值類型轉(zhuǎn)換成字符串
itoa(num,str,radix);ltoa(num,str,radix);
其中str用于存放結(jié)果的字符串,radix是用戶指定的進(jìn)制數(shù),它的取值必須介于2~36之間。在itoa()函數(shù)中的num是一個(gè)int類型的數(shù)值;在ltoa()函數(shù)中的num是一個(gè)long類型的數(shù)值。8lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第8頁!#include<stdio.h>#include<stdlib.h>intmain(){charstr[33];longvalue;printf("\nEnteralongnumber:");scanf("%ld",&value);/*輸入一個(gè)long類型的數(shù)值*/ltoa(value,str,16);/*轉(zhuǎn)換成用字符串形式表示的十六進(jìn)制數(shù)值*/printf("\nThehexadecimalof%ldis%s",value,str);ltoa(value,str,8);/*轉(zhuǎn)換成用字符串形式表示的八進(jìn)制數(shù)值*/printf("\nTheoctadecimalof%ldis%s",value,str);ltoa(value,str,2);/*轉(zhuǎn)換成用字符串形式表示的二進(jìn)制數(shù)值*/printf("\nThebinaryof%ldis%s",value,str);return0;}9lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第9頁!3字符數(shù)組2例3:統(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)位置,然后加110lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第10頁!#include<stdio.h>#include<string.h>#include<ctype.h>#defineNUM26intmain(){intletter[NUM]={0}; /*用于存放統(tǒng)計(jì)結(jié)果的一維數(shù)組*/charstr[80]; /*存放以字符串形式輸入的文本*/inti;printf("\nEnteratextline<Enterend>");gets(str); /*輸入文本*/strupr(str); /*將文本中的所有小寫字母轉(zhuǎn)換成大寫字母*/for(i=0;str[i]!='\0';i++){ /*統(tǒng)計(jì)每個(gè)字母出現(xiàn)的次數(shù)*/if(isalpha(str[i])){letter[str[i]-'A']=letter[str[i]-'A']+1;}}for(i=0;i<NUM;i++){ /*輸出統(tǒng)計(jì)結(jié)果*/printf("\n\'%c\':%d",'A'+i,letter[i]);}return0;}11lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第11頁!3字符數(shù)組2例4:假設(shè)用戶的密碼是“administrators”,下面這個(gè)程序?qū)⒂糜跈z測(cè)用戶輸入的密碼是否正確。如果不正確,給出相應(yīng)的提示信息,并請(qǐng)求用戶重新輸入。分析:循環(huán)的從鍵盤輸入一個(gè)字符串,用來和administrators比較,如果相等結(jié)束循環(huán)12lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第12頁!3字符數(shù)組2字符串拷貝
strcpy(str1,str2);其中str2是將要被拷貝的字符串,str1是用于存放拷貝結(jié)果的存儲(chǔ)區(qū)域。字符串連接
strcat(str1,str2);其中str1和str2是兩個(gè)字符串。這個(gè)函數(shù)的功能是:將str2連接在str1之后,并在結(jié)束處添加一個(gè)字符串結(jié)束符‘\0’13lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第13頁!#include<stdio.h>#include<string.h>intmain(){charstr1[80]="Thisisa";charstr2[]="program.";charstr3[]="Java";charstr4[]="Pascal";charstr5[]="C";charstr6[]="C++";intchoice;printf("\n===MENU==\n");/*菜單*/printf("\nJava................1");printf("\nPascal.............2");printf("\nC....................3");printf("\nC++................4");printf("\nchoice:");scanf("%d",&choice);/*用戶做出選擇*/14lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第14頁!3二維數(shù)組3請(qǐng)從鍵盤輸入3個(gè)同學(xué)、4門課程的成績(jī),并按照如下格式輸出8070999783926591858876例:15lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第15頁!3二維數(shù)組3思考重新排列特點(diǎn):像表格一樣具有行和列,每個(gè)變量需要行和列的位置才能確定score16lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第16頁!3二維數(shù)組3二維數(shù)組的引用1234567891011127第1行第2列數(shù)組aa[1][2]數(shù)組名[行下標(biāo)][列下標(biāo)]
17lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第17頁!3二維數(shù)組操作4二維數(shù)組元素的引用及基本操作數(shù)組的賦值
for(i=0;i<ROWS;i++)for(j=0;j<COLS;j++)value[i][j]=i+j;數(shù)組的輸入
for(i=0;i<ROWS;i++)for(j=0;j<COLS;j++)scanf(“%d”,&value[i][j]);#defineROWS4#defineCOLS5intvalue[ROWS][COLS];18lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第18頁!3二維數(shù)組應(yīng)用5例6:判斷給定方陣是否為對(duì)稱矩陣。
11021882104139925211361436889914712322536123319lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第19頁!算法描述
20lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第20頁!/*判斷矩陣是否對(duì)稱并輸出相應(yīng)的結(jié)果*/for(i=0;i<NUM;i++)for(j=0;j<i;j++) if(m[i][j]!=m[j][i]){ printf("\nThematrixisn'tsymmetrical."); return0; }printf("\nThematrixissymmetrical.");return0;}21lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第21頁!22#include<stdio.h>#defineROWS2 //矩陣行數(shù)#defineCOLS4 //矩陣列數(shù)intmain(){ intvalue1[ROWS][COLS],value2[COLS][ROWS]; inti,j; printf("\nEnter%drows%dcolsdatasforthe maxtrix:\n",ROWS,COLS); for(i=0;i<ROWS;i++) for(j=0;j<COLS;j++) scanf("%d",&value1[i][j]); for(i=0;i<ROWS;i++) for(j=0;j<COLS;j++) value2[j][i] =value1[i][j]; for(i=0;i<COLS;i++){ for(j=0;j<ROWS;j++) printf("%4d",value2[i][j]); printf("\n");} return0;}lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第22頁!3字符數(shù)組2字符數(shù)組的定義charch[10];23lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第23頁!3字符數(shù)組2字符串在計(jì)算機(jī)中表示“1234”1234\0字符數(shù)組字符串結(jié)束標(biāo)志24lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第24頁!3字符數(shù)組2字符串的輸入輸出
1、gets(str);2、scanf(“%s”,str);gets()函數(shù)以換行符或文件結(jié)束符EOF作為輸入的結(jié)束標(biāo)志,因此在輸入的字符串中允許包含空格和制表符;scanf()函數(shù)則以空格、制表符、換行符和文件結(jié)束符EOF作為輸入的結(jié)束標(biāo)志,因此,在輸入的字符串中不允許包含這些字符。如果包含了它們,將作為字符串輸入的結(jié)束標(biāo)志處理。
charstr[100];25lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第25頁!3字符數(shù)組2字符串轉(zhuǎn)換成數(shù)值類型
atof(str);atoi(str);atol(str);其中str是一個(gè)字符串。atof()的返回類型是double,它可以將字符串str轉(zhuǎn)換成一個(gè)雙精度數(shù)值;atoi()的返回類型是int,它可以將字符串str轉(zhuǎn)換成普通整型;atol()的返回類型是long,它可以將字符串str轉(zhuǎn)換成長整型(long)。
26lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第26頁!#include<stdio.h>#include<stdlib.h>intmain(){charnum1[20],num2[20];doubled1,d2,sum;printf("\nEnterthefirstnumber:");gets(num1); /*輸入第1個(gè)用字符串表示的實(shí)型數(shù)值*/printf("\Enterthssecondnumber:");gets(num2); /*輸入第2個(gè)用字符串表示的實(shí)型數(shù)值*/d1=atof(num1);/*將第1個(gè)字符串轉(zhuǎn)換成double類型*/d2=atof(num2);/*將第2個(gè)字符串轉(zhuǎn)換成double類型*/sum=d1+d2;/*將2個(gè)double類型數(shù)值相加*/printf("\n%s+%s=%.3lf",num1,num2,sum);/*顯示結(jié)果*/return0;}27lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第27頁!3字符數(shù)組2例2:將用戶輸入的長整型(long類型)數(shù)值轉(zhuǎn)換成以字符串形式表示的十六進(jìn)制、八進(jìn)制和二進(jìn)制數(shù)值,并顯示輸出。28lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第28頁!3字符數(shù)組2大小寫轉(zhuǎn)換
strlwr(str);strupr(str);str是一個(gè)字符串。標(biāo)準(zhǔn)函數(shù)strlwr()可以將字符串str中出現(xiàn)的所有大寫字母轉(zhuǎn)換成小寫字母;標(biāo)準(zhǔn)函數(shù)strupr()可以將字符串str中出現(xiàn)的所有小寫字母轉(zhuǎn)換成大寫字母。29lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第29頁!3字符數(shù)組200000000letterA的次數(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’30lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第30頁!3字符數(shù)組2計(jì)算字符串長度
strlen(str);這個(gè)函數(shù)的功能是返回字符串中所包含的字符個(gè)數(shù),即字符串長度。字符串結(jié)束標(biāo)志‘\0’不計(jì)算在內(nèi)。字符串比較
strcmp(str1,str2);兩個(gè)字符串進(jìn)行比較時(shí)將依據(jù)每個(gè)字符對(duì)應(yīng)的ASCII編碼決定其大小。
31lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第31頁!#include<stdio.h>#include<string.h>intmain(){charpassword[20]; /*存放用戶輸入的密碼*/printf("\nEnterpassword:");gets(password); /*輸入密碼*/
/*檢測(cè)用戶輸入的密碼,如果不正確,給出提示,并請(qǐng)求重新輸入*/while(strcmp(password,"administrators")!=0){printf("\nInvalidpassword\n\n");printf("Enterpassword,again:");gets(password);}printf("OK");/*輸入正確,顯示"OK"*/return0;}32lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第32頁!3字符數(shù)組2例5:根據(jù)用戶的選擇輸出相應(yīng)的字符串。
分析:1、定義好需要輸出的字符串2、從鍵盤輸入一個(gè)數(shù)3、判斷輸入的數(shù),根據(jù)要求連接成一個(gè)新的字符串后輸出33lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第33頁!switch(choice){/*根據(jù)用戶的選擇拼接字符串*/case1: strcat(str1,str3); strcat(str1,str2); break;case2: strcat(str1,str4); strcat(str1,str2); break;case3: strcat(str1,str5); strcat(str1,str2); break;case4: strcat(str1,str6); strcat(str1,str2); break;default: strcpy(str1,"Error"); break;}printf("\n%s",str1);/*顯示字符串*/return0;}34lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第34頁!3二維數(shù)組3分析有12個(gè)成績(jī)需要保存,使用數(shù)組長度為12的一維數(shù)組??intscore[12]數(shù)組排列方式如何區(qū)分是哪門課程,是第幾個(gè)同學(xué)的成績(jī)?score35lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第35頁!3二維數(shù)組3在C語言中如何實(shí)現(xiàn)?類型數(shù)組名[行長度][列長度]intarray[3][4]例:floatd[3][5];inta[6][6];chars[4][10];所有元素都是int數(shù)組名3行4列注意:必須是常量array36lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第36頁!3二維數(shù)組3在定義二維數(shù)組時(shí),給元素賦初值形式1:inta[2][3]={1,2,3,4,5,6};形式2:inta[2][3]={{1,2,3},{4,5,6}};形式3:inta[][3]={1,2,3,4,5,6};形式4:inta[2][]={1,2,3,4,5,6};×錯(cuò)誤!37lesson11數(shù)據(jù)的組織結(jié)構(gòu)一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第37頁!3二維數(shù)組操作4二維數(shù)組元素的引用及基本操作3.數(shù)組的輸出
for(i=0;i<ROWS;i++){for(j=0;j<COLS;j++)printf(“%4d”,value[i][j]);putchar(‘\n’);}#defineROWS4#de
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 薪酬福利調(diào)整說明書與實(shí)施方案解讀
- 綠色能源供應(yīng)協(xié)議書
- 兄妹共同出資購房合同
- 全新綠化工程協(xié)議書
- 電力行業(yè)電力供應(yīng)穩(wěn)定性免責(zé)協(xié)議
- 員工年度工作總結(jié)與未來發(fā)展規(guī)劃報(bào)告
- 項(xiàng)目合作方案設(shè)計(jì)建議書
- 購買公司股份協(xié)議書十
- 第二單元 社會(huì)主義制度的建立與社會(huì)主義建設(shè)的探索 大單元教學(xué)設(shè)計(jì) 2023-2024學(xué)年部編版八年級(jí)歷史下冊(cè)
- 第二單元4《古詩三首》教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語文三年級(jí)上冊(cè)
- 教科版三年級(jí)下冊(cè)科學(xué)全冊(cè)單元教材分析
- 《物理學(xué)的發(fā)展史》課件
- 2025年廣東廣州市海珠區(qū)官洲街道辦事處政府雇員招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 初中2025教學(xué)工作計(jì)劃
- 2024年度市政工程項(xiàng)目三方合作協(xié)議3篇
- 《小腸梗阻的診斷與治療中國專家共識(shí)(2023版)》解讀
- 【大學(xué)課件】機(jī)電設(shè)備管理技術(shù)概論
- 2024屆廣東省廣州市高三一??荚囉⒄Z試題講評(píng)課件
- 切削加工中的刀具路徑規(guī)劃算法考核試卷
- 《推拿學(xué)》期末考試復(fù)習(xí)題庫(含答案)
- 《STP營銷戰(zhàn)略概述》課件
評(píng)論
0/150
提交評(píng)論