반응형
Notice
Recent Posts
Recent Comments
Link
안 쓰던 블로그
C언어 2차원 배열과 성적의 총점 구하기 예제 본문
반응형
C언어 2차원 배열
1차원, 2차원, 3차원 배열을 통칭하여 다차원 배열이라고 한다.
3차원 이상의 배열은 쓸 일도 없고 논리적으로 이해하기 힘들기 때문에 다차원 배열이라함은 3차원까지만을 말한다.
1. 2차원 배열
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main(void){ int score[3][2]; //3명의 학생들의 2과목 성적을 체크 int total[2] = { 0, }; int a, b; for (b = 0; b < 3; b++){ //점수 입력받음 printf("%d번 학생의 국어, 수학점수: ", b+1); scanf("%d %d", &score[b][0], &score[b][1]); } for (a = 0; a < 3; a++){ //총점계산 total[0] += score[a][0]; total[1] += score[a][1]; } printf("\n\n3명의 국어 총점:%d", total[0]); printf("\n3명의 수학 총점:%d", total[1]); return 0; } | cs |
2차원 배열을 사용하여 3명의 학생들의 2과목 성적의 총점을 계산하는 예제다.
1차원이 방이라면 2차원은 객실이다.
3번째 줄에서 2차원 배열을 선언했다.
선언은 행-열 순으로 int a[3][2]라고 선언했다면
0 1
2 3
4 5
로 방이 만들어진 것이다.
4번째 줄에서 배열 요소를 전부 0으로 초기화시켰다.
간혹 int total[2] = {0}이라고 초기화 하는 사람도 볼 수 있는데,
어차피 {1, }든 {1}든 값을 지정한 것 이외에는 모두 0으로 초기화 해주기 때문에 별로 상관은 없다.
초기화 방법 정리→http://foxtrotin.tistory.com/10
7~9번째 줄에서 점수를 입력받았다.
9번줄 for문을 돌리면서 배열에다가 하나씩 값을 넣은 것이다.
첫번째 돌때 b=0이니까 score[0][0]번째에 국어 점수를, score[0][1]번째에 수학 점수를 넣었다는 의미다.
12번째 for문도 마찬가지로 a가 돌아가며 total[0]에는 모든 국어 점수를 더하고 total[1]에는 수학 점수를 더해 총점을 구했다.
2차원 배열을 출력할 때는 원래 이중for문을 사용해야 한다는걸 보여주고 싶었는데
예시를 쓰다보니 성적을 구할 때는 굳이 사용할 필요가 없다는걸 알아버렸다
반응형
'언어 > C, C++' 카테고리의 다른 글
C언어 구조체 (0) | 2016.02.23 |
---|---|
C언어 3차원 배열과 성적의 총점 구하기 예제 (0) | 2016.02.23 |
C언어 1차원 배열 (0) | 2016.02.23 |
C언어 연산자 (0) | 2016.02.23 |
C언어 배열 초기화 (0) | 2016.02.22 |
Comments