lesson11數(shù)據(jù)的組織結構一二維數(shù)組_第1頁
lesson11數(shù)據(jù)的組織結構一二維數(shù)組_第2頁
lesson11數(shù)據(jù)的組織結構一二維數(shù)組_第3頁
lesson11數(shù)據(jù)的組織結構一二維數(shù)組_第4頁
lesson11數(shù)據(jù)的組織結構一二維數(shù)組_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Lesson11數(shù)據(jù)的組織結構1lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第1頁!學習目標:31掌握二維數(shù)組的使用2lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第2頁!3字符數(shù)組2字符數(shù)組:數(shù)組元素的類型為字符hello\03lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第3頁!3字符數(shù)組2字符串用雙引號括起來的一串字符“1234”“Tom”“CLanuageProgram”4lesson11數(shù)據(jù)的組織結構一二維數(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ù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第5頁!3字符數(shù)組2字符串的輸出

1、puts(str);

2、printf(%s”,str);puts將字符串的內(nèi)容顯示到標準輸出設備——屏幕上,并換行。

6lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第6頁!3字符數(shù)組2例1:將用戶以字符串形式輸入的兩個實型數(shù)值轉換成double類型,并顯示輸出這兩個實型數(shù)值及它們相加的結果。7lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第7頁!3字符數(shù)組2數(shù)值類型轉換成字符串

itoa(num,str,radix);ltoa(num,str,radix);

其中str用于存放結果的字符串,radix是用戶指定的進制數(shù),它的取值必須介于2~36之間。在itoa()函數(shù)中的num是一個int類型的數(shù)值;在ltoa()函數(shù)中的num是一個long類型的數(shù)值。8lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第8頁!#include<stdio.h>#include<stdlib.h>intmain(){charstr[33];longvalue;printf("\nEnteralongnumber:");scanf("%ld",&value);/*輸入一個long類型的數(shù)值*/ltoa(value,str,16);/*轉換成用字符串形式表示的十六進制數(shù)值*/printf("\nThehexadecimalof%ldis%s",value,str);ltoa(value,str,8);/*轉換成用字符串形式表示的八進制數(shù)值*/printf("\nTheoctadecimalof%ldis%s",value,str);ltoa(value,str,2);/*轉換成用字符串形式表示的二進制數(shù)值*/printf("\nThebinaryof%ldis%s",value,str);return0;}9lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第9頁!3字符數(shù)組2例3:統(tǒng)計一段文本中每個英文字母出現(xiàn)的次數(shù)。分析:定義一個數(shù)組letter,存放英文字母出現(xiàn)的次數(shù)00000000letterA的次數(shù)B的次數(shù)C的次數(shù)循環(huán)字符數(shù)組,針對每個字母,找到其在數(shù)組letter中的對應位置,然后加110lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第10頁!#include<stdio.h>#include<string.h>#include<ctype.h>#defineNUM26intmain(){intletter[NUM]={0}; /*用于存放統(tǒng)計結果的一維數(shù)組*/charstr[80]; /*存放以字符串形式輸入的文本*/inti;printf("\nEnteratextline<Enterend>");gets(str); /*輸入文本*/strupr(str); /*將文本中的所有小寫字母轉換成大寫字母*/for(i=0;str[i]!='\0';i++){ /*統(tǒng)計每個字母出現(xiàn)的次數(shù)*/if(isalpha(str[i])){letter[str[i]-'A']=letter[str[i]-'A']+1;}}for(i=0;i<NUM;i++){ /*輸出統(tǒng)計結果*/printf("\n\'%c\':%d",'A'+i,letter[i]);}return0;}11lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第11頁!3字符數(shù)組2例4:假設用戶的密碼是“administrators”,下面這個程序將用于檢測用戶輸入的密碼是否正確。如果不正確,給出相應的提示信息,并請求用戶重新輸入。分析:循環(huán)的從鍵盤輸入一個字符串,用來和administrators比較,如果相等結束循環(huán)12lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第12頁!3字符數(shù)組2字符串拷貝

strcpy(str1,str2);其中str2是將要被拷貝的字符串,str1是用于存放拷貝結果的存儲區(qū)域。字符串連接

strcat(str1,str2);其中str1和str2是兩個字符串。這個函數(shù)的功能是:將str2連接在str1之后,并在結束處添加一個字符串結束符‘\0’13lesson11數(shù)據(jù)的組織結構一二維數(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ù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第14頁!3二維數(shù)組3請從鍵盤輸入3個同學、4門課程的成績,并按照如下格式輸出8070999783926591858876例:15lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第15頁!3二維數(shù)組3思考重新排列特點:像表格一樣具有行和列,每個變量需要行和列的位置才能確定score16lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第16頁!3二維數(shù)組3二維數(shù)組的引用1234567891011127第1行第2列數(shù)組aa[1][2]數(shù)組名[行下標][列下標]

17lesson11數(shù)據(jù)的組織結構一二維數(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ù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第18頁!3二維數(shù)組應用5例6:判斷給定方陣是否為對稱矩陣。

11021882104139925211361436889914712322536123319lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第19頁!算法描述

20lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第20頁!/*判斷矩陣是否對稱并輸出相應的結果*/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ù)的組織結構一二維數(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ù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第22頁!3字符數(shù)組2字符數(shù)組的定義charch[10];23lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第23頁!3字符數(shù)組2字符串在計算機中表示“1234”1234\0字符數(shù)組字符串結束標志24lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第24頁!3字符數(shù)組2字符串的輸入輸出

1、gets(str);2、scanf(“%s”,str);gets()函數(shù)以換行符或文件結束符EOF作為輸入的結束標志,因此在輸入的字符串中允許包含空格和制表符;scanf()函數(shù)則以空格、制表符、換行符和文件結束符EOF作為輸入的結束標志,因此,在輸入的字符串中不允許包含這些字符。如果包含了它們,將作為字符串輸入的結束標志處理。

charstr[100];25lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第25頁!3字符數(shù)組2字符串轉換成數(shù)值類型

atof(str);atoi(str);atol(str);其中str是一個字符串。atof()的返回類型是double,它可以將字符串str轉換成一個雙精度數(shù)值;atoi()的返回類型是int,它可以將字符串str轉換成普通整型;atol()的返回類型是long,它可以將字符串str轉換成長整型(long)。

26lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第26頁!#include<stdio.h>#include<stdlib.h>intmain(){charnum1[20],num2[20];doubled1,d2,sum;printf("\nEnterthefirstnumber:");gets(num1); /*輸入第1個用字符串表示的實型數(shù)值*/printf("\Enterthssecondnumber:");gets(num2); /*輸入第2個用字符串表示的實型數(shù)值*/d1=atof(num1);/*將第1個字符串轉換成double類型*/d2=atof(num2);/*將第2個字符串轉換成double類型*/sum=d1+d2;/*將2個double類型數(shù)值相加*/printf("\n%s+%s=%.3lf",num1,num2,sum);/*顯示結果*/return0;}27lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第27頁!3字符數(shù)組2例2:將用戶輸入的長整型(long類型)數(shù)值轉換成以字符串形式表示的十六進制、八進制和二進制數(shù)值,并顯示輸出。28lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第28頁!3字符數(shù)組2大小寫轉換

strlwr(str);strupr(str);str是一個字符串。標準函數(shù)strlwr()可以將字符串str中出現(xiàn)的所有大寫字母轉換成小寫字母;標準函數(shù)strupr()可以將字符串str中出現(xiàn)的所有小寫字母轉換成大寫字母。29lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第29頁!3字符數(shù)組200000000letterA的次數(shù)B的次數(shù)C的次數(shù)如何確定每個字母在letter中的位置呢?A對應letter[0]B對應letter[1]C對應letter[2]下標:0‘A’-’A’下標:1‘B’-’A’下標:2‘C’-’A’30lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第30頁!3字符數(shù)組2計算字符串長度

strlen(str);這個函數(shù)的功能是返回字符串中所包含的字符個數(shù),即字符串長度。字符串結束標志‘\0’不計算在內(nèi)。字符串比較

strcmp(str1,str2);兩個字符串進行比較時將依據(jù)每個字符對應的ASCII編碼決定其大小。

31lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第31頁!#include<stdio.h>#include<string.h>intmain(){charpassword[20]; /*存放用戶輸入的密碼*/printf("\nEnterpassword:");gets(password); /*輸入密碼*/

/*檢測用戶輸入的密碼,如果不正確,給出提示,并請求重新輸入*/while(strcmp(password,"administrators")!=0){printf("\nInvalidpassword\n\n");printf("Enterpassword,again:");gets(password);}printf("OK");/*輸入正確,顯示"OK"*/return0;}32lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第32頁!3字符數(shù)組2例5:根據(jù)用戶的選擇輸出相應的字符串。

分析:1、定義好需要輸出的字符串2、從鍵盤輸入一個數(shù)3、判斷輸入的數(shù),根據(jù)要求連接成一個新的字符串后輸出33lesson11數(shù)據(jù)的組織結構一二維數(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ù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第34頁!3二維數(shù)組3分析有12個成績需要保存,使用數(shù)組長度為12的一維數(shù)組??intscore[12]數(shù)組排列方式如何區(qū)分是哪門課程,是第幾個同學的成績?score35lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第35頁!3二維數(shù)組3在C語言中如何實現(xiàn)?類型數(shù)組名[行長度][列長度]intarray[3][4]例:floatd[3][5];inta[6][6];chars[4][10];所有元素都是int數(shù)組名3行4列注意:必須是常量array36lesson11數(shù)據(jù)的組織結構一二維數(shù)組共42頁,您現(xiàn)在瀏覽的是第36頁!3二維數(shù)組3在定義二維數(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};×錯誤!37lesson11數(shù)據(jù)的組織結構一二維數(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等.壓縮文件請下載最新的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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論