01. 2차원 배열(2DNum)에 정수가 저장되어 있다고 가정한다. 우리가 가지고 있는 단 하나의 함수는 1차원 배열에 저장된 정수의 합을 구하는 int get_1Dsum(int array[], int size)라고 가정하자. 2차원 배열의 각 행에 대하여 get_1Dsum()을 호출하여 각 행의 합을 구한 후에, 이것들을 모두 합쳐서 전체 2차원 배열에 저장된 정수들의 합을 구하는 프로그램을 작성하시오. 2DNum 배열은 5x10 크기이며, 아래와 같이 정수가 저장되어 있다.

#include <stdio.h>
#define ROWS 5
#define COLS 10
int get_1Dsum(int array[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += array[i];
}
return sum;
}
int main() {
int _2DNum[][COLS] = {
{10,21,32,43,54,65,76,87,98,109},
{20,31,42,53,64,75,86,97,108,119},
{30,41,52,63,74,85,96,107,118,129},
{40,51,62,73,84,95,106,117,128,139},
{50,61,72,83,94,105,116,127,138,149}
};
int sum_1D[ROWS], sum = 0;
for (int i = 0; i < ROWS; i++)
sum_1D[i] = get_1Dsum(_2DNum[i], COLS); // _2DNum[i]: i번째 열의 배열
for (int i = 0; i < ROWS; i++)
sum += sum_1D[i];
printf("%d", sum);
}
02. 문자열의 배열을 인수로 받아서 아래와 같이 저장된 3개 문자열들(msgString)을 전부 출력하는 pr_str_array() 함수를 작성하여 프로그램을 완성하시오, pr_str_array 함수는 void pr_str_array(char **dp); 원형을 지닌다고 가정한다.
A bad shearer never had a good sickle.
A bad workman (always) balmes his tools.
A bad thing never dies.
#include <stdio.h>
void pr_str_array(char** dp);
int main() {
char* msgString[] = {
{"A bad shearer never had a good sickle."},
{"A bad workman (always) balmes his tools."},
{"A bad thing never dies."} };
pr_str_array(msgString);
}
void pr_str_array(char** dp) {
for (int i = 0; i < 3; i++) {
printf("%s\n", dp[i]); // *(dp+i)도 가능;
}
}
'프로그래밍랩' 카테고리의 다른 글
프로그래밍랩 9주차 (0) | 2024.11.07 |
---|---|
[프로그래밍 랩] C언어 복습 문제 4 (0) | 2024.10.25 |
[프로그래밍 랩] C언어 복습 문제 3 (0) | 2024.10.18 |
[프로그래밍 랩] C언어 복습 문제 1 (0) | 2024.10.18 |
[프로그래밍 랩] C언어 복습 문제 2 (0) | 2024.10.10 |