[C언어] 2차원 배열 문제

yunssup·2023년 6월 9일

C언어

목록 보기
10/13
post-thumbnail

예제)학생들의 성적 기록표를 2차원 배열에 저장하고 각 학생의 최종 성적을 계산해보자.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define ROWS 3 //3행
#define COLS 5 //5열
int main(void) {
	int a[ROWS][COLS] = { {87,98,80,76,3},
		{99,89,90,90,0},
		{65,68,50,49,0} }; // 학생 점수
	int i;
	for (i = 0; i < ROWS; i++) { //행마다 점수 부여 되어있기 때문에
		double final_scores = a[i][0] * 0.3 + a[i][1] * 0.4 + a[i][2] * 0.2 + a[i][3] * 0.1 - a[i][4];
		printf("학생 #%i의 최종 성적=%10.2f\n", i + 1, final_scores);
	}
	return 0;
}

예제)다차원 배열을 이용한 행렬의 표현

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define ROWS 3 //3행
#define COLS 3 //3열
int main(void) {
	int A[ROWS][COLS] =
	{ {2,3,0},
	{8,9,1},
	{7,0,5} };
	int B[ROWS][COLS] =
	{ {1,0,0},
	{1,0,0},
	{1,0,0} };
	int C[ROWS][COLS];
	int r, c;
	for (r = 0; r < ROWS; r++)
		for (c = 0; c < COLS; c++)
			C[r][c] = A[r][c] + B[r][c]; // 두개의 행렬 더하기
	for (r = 0; r < ROWS; r++) {
		for (c = 0; c < COLS; c++)
			printf("%d", C[r][c]); //행렬 출력
		printf("\n");
	}
	return 0;
}

0개의 댓글