[문제]
먼저 아래와 같이 2차원 배열 arr1, arr2를 선언한다.
arr1
1 2 3 4
5 6 7 8
arr2
1 1 1 1
3 3 3 3
5 5 5 5
그리고 배열요소를 출력하는 함수 ShowArr2Dstyle()와 배열요소의 합을 반환하는 함수 Sum2DArr()을 사용하여 arr1, arr2의 배열 요소와 배열 요소의 합을 출력하라.
[실행결과]
1 2 3 4
5 6 7 8
1 1 1 1
3 3 3 3
5 5 5 5
arr1의 합: 36
arr2의 합: 36
[코드]
#include<stdio.h>
void ShowArr2Dstyle(int(*arr)[4], int column) // 2차원 배열 전체 요소 출력
{
int i, j;
for (i = 0; i < column; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("\n");
}
int Sum2DArr(int arr[][4], int colum) // 2차원 배열 전체 요소의 합 반환
{
int i, j;
int sum = 0;
for (i = 0; i < colum; i++)
{
for (j = 0; j < 4; j++)
sum += arr[i][j];
}
return sum;
}
int main(void)
{
int arr1[2][4] = {
{1,2,3,4},
{5,6,7,8}
};
int arr2[3][4] = {
{1,1,1,1},
{3,3,3,3},
{5,5,5,5}
};
ShowArr2Dstyle(arr1, sizeof(arr1) / sizeof(arr1[0]));
ShowArr2Dstyle(arr2, sizeof(arr2) / sizeof(arr2[0]));
printf("arr1의 합: %d\n", Sum2DArr(arr1, sizeof(arr1) / sizeof(arr1[0])));
printf("arr2의 합: %d\n", Sum2DArr(arr2, sizeof(arr2) / sizeof(arr2[0])));
return 0;
}
<참고>
윤성우의 열혈 C 프로그래밍
'C 언어 > 연습문제' 카테고리의 다른 글
C언어 연습문제28 (0) | 2022.03.21 |
---|---|
C언어 연습문제27 (0) | 2022.03.18 |
C언어 연습문제25 (0) | 2021.11.30 |
C언어 연습문제24 (0) | 2021.11.26 |
C언어 연습문제23 (0) | 2021.11.24 |