Presentation is loading. Please wait.

Presentation is loading. Please wait.

Array 陣列 1 int a,b,c,d,e,f,g,h,..., aa,ab,...,zx,zy,zz; a = 1; b = 2; 一般宣告變數方式 ( 沒有陣列的日子 ) scanf ("%i%i%i%i", &a, &b, &c, &d); d = a+b+c; int a[1000];

Similar presentations


Presentation on theme: "Array 陣列 1 int a,b,c,d,e,f,g,h,..., aa,ab,...,zx,zy,zz; a = 1; b = 2; 一般宣告變數方式 ( 沒有陣列的日子 ) scanf ("%i%i%i%i", &a, &b, &c, &d); d = a+b+c; int a[1000];"— Presentation transcript:

1 array 陣列 1 int a,b,c,d,e,f,g,h,..., aa,ab,...,zx,zy,zz; a = 1; b = 2; 一般宣告變數方式 ( 沒有陣列的日子 ) scanf ("%i%i%i%i", &a, &b, &c, &d); d = a+b+c; int a[1000]; a[0] = 1; a[1] = 2; a[ ] = 66; 以陣列方式宣告變數 scanf ("%i%i%i%i", &a[0],&a[1],&a[2],&a[3]); 1000 個元素 宣告大量 變數

2 array 陣列 2 int days ; 宣告句子 賦值句子 輸出句子 輸入句子 days = 28; printf ( "%i", days ); scanf ( "%i", &days ); Array 陣列 days[ 0] days[ 1] days[ 2] 28 days[ 3] days[ 4] days[ 5] days[ 6] days[ 7] days[ 8] days[ 9] days[10] days[11] days[12]

3 array 陣列 3 days[ 0] days[ 1] 31 days[ 2] 31 days[ 3] 31 days[ 4] 31 days[ 5] 31 days[ 6] 31 days[ 7] 31 days[ 8] 31 days[ 9] 31 days[10] 31 days[11] 31 days[12] 31 days[ 1] = 31; days[ 2] = 31; days[ 3] = 31; days[ 4] = 31; days[ 5] = 31; days[ 6] = 31;... days[10] = 31; days[11] = 31; days[12] = 31; for (i=1; ;i++) days = 31; [i]

4 array 陣列 4 printf( "%i", days[ 1]); printf( "%i", days[ 2]); printf( "%i", days[ 3]); printf( "%i", days[ 4]); printf( "%i", days[ 5]); printf( "%i", days[ 6]);... printf( "%i", days[10]); printf( "%i", days[11]); printf( "%i", days[12]); for (i=1;i<=12;i++) printf("%i", ); [i] days[ 0] days[ 1] 31 days[ 2] 28 days[ 3] 31 days[ 4] 30 days[ 5] 31 days[ 6] 30 days[ 7] 31 days[ 8] 31 days[ 9] 30 days[10] 31 days[11] 30 days[12] 31

5 array 陣列 5 scanf("%i", &days[ 1]); scanf("%i", &days[ 2]); scanf("%i", &days[ 3]); scanf("%i", &days[ 4]); scanf("%i", &days[ 5]); scanf("%i", &days[ 6]);... scanf("%i", &days[10]); scanf("%i", &days[11]); scanf("%i", &days[12]); for (i=1;i<=12;i++) scanf("%i", ); [i] days[ 0] days[ 1] 31 days[ 2] 28 days[ 3] 31 days[ 4] 30 days[ 5] 31 days[ 6] 30 days[ 7] 31 days[ 8] 31 days[ 9] 30 days[10] 31 days[11] 30 days[12] 31

6 array 陣列 6 for (i=0; i<1000; i++) a[i]=i; for (i=0; i<1000; i++) a[i]=2*i; for (i=0; i<1000; i++) a[i]=1000-i; a[0]a[1]a[999] for (i=0; i<1000; i++) a[i]=2*i+1;

7 array 陣列 7 int score[40];// 40 個分數 char grade[40];// 40 個等級 grade[0] = ; grade[1] = ; for (i=0;i<40;i++){ if (score[i]<=20) grade[i]='E'; else if (score[i]<=40) grade[i]='D'; else if (score[i]<=60) grade[i]='C'; else if (score[i]<=80) grade[i]='B'; else _____________; } for (i=0; ;i++){ if (score___>=50) grade___='P'; else grade___ = 'F'; } score[i]grade[i] 033D 144C 255B 366B … 3877B 3988A

8 array 陣列 8 輸出畫面 : Q: 輸入整數 (1-999):34 A: thirty four 算法 algorithm: 1. 準備兩個陣列 units[] 、 tens[] 2. 使用者輸入整數 (n) literals 文字 : 01-10one two three four five six seven eight nine ten 11-15eleven twelve thirteen fourteen fifteen 16-19sixteen seventeen eighteen nineteen 20-90twenty thirty forty fifty sixty seventy eighty ninety units[i]tens[i] 0 1 one 2 twotwenty 3 threethirty 4 fourforty 5 fivefifty 6 sixsixty 7 sevenseventy 8 eighteighty 9 nineninety … 18 eighteen 19 nineteen 3. 若 n<20 則輸出文字 (______[n]) 4. 否則 ( 利用 __ 及 __) 把 n 分柝為 個位 unit digit 及十位 tens digit 輸出適當文字

9 array 陣列 9 1. sum of first n integers 首 n 個整數的和 1+2+3… int i, sum=0; for (i=1;i<=10;i++) sum = _____________; 2. factorial of n: 首 n 個整數的積 123… int i, factorial=1; for (i=1;i<=10;i++) factorial =____________; 3. alphabets: 字母 char ch; for (ch=___;ch<=___;ch++) printf ("%d %c\n", ch, ch); for (ch=___;ch<=___;ch++) printf ("%d %c\n", ch, ch); 65 A 66 B … 90 Z 97 a 98 b … 122 z

10 array 陣列 10 3. shift left 左移 / 上移 a[0] = a[1] = a[2] = 4. shift right 右移 / 下移 a[1] = a[2] = a[3] = for (i=__;i___;i___) a[___] = a[___]; for (i=0;i<9;i++) a[___] = a[___]; 0123456789 12345678910 23456789 0123456789 123456789 123456789 當 i=9, a[9]=a[__]; 當 i=8, a[8]=a[__]; 當 i=1, a[1]=a[__]; a[__];

11 array 陣列 11 5. swapping x,y 互換 int x=100, y=50, t; 6. swapping a[0],a[9] 互換 int a[10], t; 7. reverse 倒轉 ( 數值 ) for (i=0;i<__;i++){ } 8. reverse 反轉 / 倒轉 ( 列印 ) t = __; x = __; y = __; t = a[__]; a[__] = a[__]; a[__] = t; t = a[i]; a[i] = a[___]; a[___] = t; for (i=9;i____;i--) printf ("%d\n", a[i]); for (i=0;i<10;i++) printf ("%d\n", a[___]); 0123456789

12 array 陣列 12 (a) char animals[__][3]={" 猴 "," 雞 "," 狗 "," 豬 "," 鼠 "," 牛 ", " 虎 "," 兔 "," 龍 "," 蛇 "," 馬 "," 羊 "}; yy=1980; printf ("%s\n", animals[yy______]); 9. 陣列的應用 (b) char monthname[__][4] ={"?","Jan","Feb","Mar","Apr","May","Jun", "Jul","Aug","Sep","Oct","Nov","Dec"}; mm=9; printf ("%s\n", monthname[____]); (c) char cdow[___][4] ={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

13 array 陣列 13 (d) char cnum[___][___] ={" ○ "," 一 "," 二 "," 三 "," 四 "," 五 "," 六 "," 七 "," 八 "," 九 "}; n=24; x = y = printf ("%s 十 %s\n", cnum[__], cnum[__]); (e) int maxday[13] ={0, 31,28,31,30,31,30,31,31,30,31,30,31}; do{ printf ("Enter mm,dd "); scanf ("%i%i", &mm, &dd); }while (mm 12 || dd 31);

14 array 陣列 14 (f) char zodiac[__][__]={" 山羊 ", " 水瓶 "," 雙魚 "," 白羊 "," 金牛 "," 雙子 "," 巨蟹 ", " 獅子 "," 處女 "," 天秤 "," 天蠍 "," 人馬 "," 山羊 "}; int zday[__]={0, 20,19,21,21,21,22,23,24,23,23,22,22}; Q: mm dd ? 2 22 A: 雙魚 Q: mm dd ? 2 10 A: 水瓶 z = mm; if(dd<...... printf ("zodiac = ___\n", zodiac[___]);

15 array 陣列 15 int i, n, count[10]={0}; 統計 (0-9) i count [i] 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 for (i=0;i<10;i++) count[__]=0; do{ scanf("%i", &n); }while(1); if (n>=0 && _____) for (i=0;i<10;i++) printf("%i : %i \n", ___, count[__]); count[___]++;


Download ppt "Array 陣列 1 int a,b,c,d,e,f,g,h,..., aa,ab,...,zx,zy,zz; a = 1; b = 2; 一般宣告變數方式 ( 沒有陣列的日子 ) scanf ("%i%i%i%i", &a, &b, &c, &d); d = a+b+c; int a[1000];"

Similar presentations


Ads by Google