(7-3)Array

C/C언어 이론 2018. 10. 3. 18:20

다차원 배열 : 2차원 배열만 사용한다고 생각!!

int iArr[2][3] = {0, };

2행, 3열 - 2중for문의 i,j 순서와 동일

*** 012

*** 345


2차원배열은 그림은 2차원으로 표현하지만, 실제 생성되는 공간은 1차원

(가로 방향)


iArr[1][2] = 6; // 정상

iArr[2][1] = 6; // 없는 공간


[0][0] [0][1] [0][2]

[1][0] [1][1] [1][2]


2차원배열 생성 시 초기값 넣기

int iArr[2][3] = { {1,2,3}, {4,5,6} };

int iArr[2][3] = { {1,2,3}, 

{4,5,6} };



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
 
void main()
{
    // 학생 3명의 4개 과목 총점과 평균 구하기
    int    iArrScore[3][4= {0, }; // int 4개 배열 3묶음
    int i = 0;
    int j = 0;
 
    // 점수를 입력 받는 2중for문
    for(i = 0; i < 3; i++// 배열의 행
    {
        // i의 for문 1회 수행은 학생 1명에 대한 처리
        printf("%d번 학생 점수 입력 : ", (i+1));
 
        for(j = 0; j < 4; j++// 배열의 열
        {
            scanf("%d"&iArrScore[i][j]); // 띄어쓰기로 입력하면 편함!
        }
    }
 
    // 정보를 출력하는 2중 for문
    for(i = 0; i < 3; i++// 배열의 행
    {
        // i의 for문 1회 수행은 학생 1명에 대한 처리
        int iTotal = 0;
 
        for(j = 0; j < 4; j++// 배열의 열
        {
            iTotal += iArrScore[i][j];
        }
 
        printf("[%d번 학생 정보]\n", (i+1));
        printf("총점 : %d점\n", iTotal);
        //printf("평균 : %.1f점\n", (float)(iTotal/4)); // 이미 연산에서 소수점소멸
        //printf("평균 : %.1f점\n", (float)iTotal/4); // iTotal을 casting
        printf("평균 : %.1f점\n", iTotal/4.); // 뒤 상수를 소수로 만들어버리는게 편함
    }
 
 
 
 
}
cs





'C > C언어 이론' 카테고리의 다른 글

(8-1)Pointer  (0) 2018.10.03
(7-4)Array  (0) 2018.10.03
(7-2)Array  (0) 2018.10.03
(7-1)Array  (0) 2018.10.03
(6-3)Function  (0) 2018.10.02

설정

트랙백

댓글