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)도 가능;
	}
}

+ Recent posts