15周作業(二維數組)
阿新 • • 發佈:2017-12-04
數組長度 [1] 二維數組賦值 log ati std 數組初始化 2-2 輸入
本周學習內容總結
- 定義
類型名 數組名[行長度][列長度]int a[3][2];
定義1個二維數組 a,3 行 2 列,6 個元素int b[5][10];
定義1個二維數組 b,5 行 10 列, 50 個元素 - 引用
先定義,後使用
數組元素的引用:
數組名[行下標] [列下標]
行下標和列下標:整型表達式
行下標的取值範圍是[0,行長度-1]
列下標的取值範圍是[0,列長度-1]int a[3][2]; 3 行 2 列, 6個元素
a[0][0] a[0][1]
a[1][0] a[1][1]
a[2][0] a[2][1]2). 二維數組的初始化
- 分行賦初值
int a[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
static int b[4][3] = { {1, 2, 3}, { }, {4, 5} };數組a
1 2 3
4 5 6
7 8 9數組b
1 2 3
0 0 0
4 5 0
0 0 0 - 順序賦初值
int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
static int b[4][3] = { 1, 2, 3, 0, 0, 0, 4, 5 }; - 在對數組全部元素賦初值時,不可以省略行數,但能省略列數
省略行長度
對全部元素都賦了初值
int a[ ][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
或分行賦初值時,在初值表中列出了全部行
static int b[ ][3] = { {1, 2, 3}, { }, {4, 5}, { } }3).使用二維數組編程
<1>.方陣轉置
輸入一個正整數n (1<n≤6),根據下式生成1個nn的方陣,然後將該方陣轉置(行列互換)後輸出。
a[i][j] = i n + j + 1 (0 ≤ i ≤ n-1,0 ≤ j ≤ n-1)
分析:int a[6][6]; n=3時代碼為:
#include <stdio.h> int main(void) { int i, j, n, temp; int a[6][6]; printf ( "Enter n: “ ); scanf ( "%d", &n ); /* 給二維數組賦值 略…… */ /* 行列互換 */ for ( i = 0; i < n; i++ ) for ( j = 0; j < n; j++ ) if ( i <= j ){ /* 只遍歷上三角陣 */ temp = a[i][j]; a[i][j] = a[j][i]; a[j][i] = temp; } /* 按矩陣的形式輸出a 略…… */ return 0; }
<2>.計算日期
代碼:
<font size=5 color="black">int year, month, day; int k, leap; int tab[2][13] = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; scanf("%d %d %d", &year, &month, &day); leap = (year % 4 == 0 && year%100!=0 || year%400==0); for(k = 1; k < month; k++) { day = day + tab[leap][k]; } printf("day = %d\n", day) ; return 0; }
2.一維字符數組
- 字符串的存儲和運算可以用一維字符數組實現
一維字符數組的定義、引用、初始化與其他類型的一維數組一樣。 - 字符串的存儲-數組初始化
字符串可以存放在一維字符數組中
static char s[6] = { ‘H‘, ‘a‘, ‘p‘, ‘p‘, ‘y‘, ‘\0‘ };
字符數組初始化:用字符串常量
static char s[6] = { "Happy" };
static char s[6] = "Happy";
數組長度 ≥ 字符串的有效長度 + 1
char t[5]; "Happy" 能存入 t 嗎?
- 字符串的存儲
- 對字符串的操作
- 字符串的存儲-賦值和輸入
- 使用字符串編程
本周學習進程
1.二維數組
1).二維數組的定義和引用
char str[80];
定義一個含有80個字符型元素的數組str
char t[5]={‘H‘, ‘a‘, ‘p‘, ‘p‘, ‘y‘};
初始化數組 t
1).字符串
15周作業(二維數組)