문제 번호 1550. -- 2021년 2학기 C언어프로그래밍2 - 기말고사 1번

1550: 2021년 2학기 C언어프로그래밍2 - 기말고사 1번

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 136  해결 문제 수: 18
[제출][채점 상황 열람][게시판]

문제 설명

함수 func는 인수로 
int n,
int* arr,
int m 을 받는다.

func는 'n' bytes 의 공간 S를 동적 (정적할당은 0점)으로 할당받는다. (n은 0보다 크다)
크기 'm'인 int 배열 'arr'는 m개의 정수값을 갖는데, (m은 0보다 크다)
각 값은 공간 S에서 값 89를 채워야 하는 바이트 단위 위치, 즉 인덱스 (0부터 시작)를 의미한다. (각 위치들은 0보다 크다)
공간 S에서 나머지 공간들은 값 55로 채워야 한다.

func는 공간 S의 시작주소를 char 포인터형으로 반환한다.

아래 프로그램에서 표시된 부분에 함수 func를 구현하시오 (필요한 헤더파일 추가하시구요),

'수정불가'라고 표시된 부분은 그냥 복붙하면 됩니다.
수정할 경우, 기말고사 0점 처리됩니다. 이제 많이들 해 봐서 알지요?
점수를 얻기 위해서 고의적으로 수정할 경우, 따끔하게 혼내고, 내쫓을 겁니다. 농담 아니예요.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 필요한 헤더파일 추가
// 함수 func 정의



// ------- 아래로는 수정불가 ----------
int main(void) {
	char* p = 0;
	int arr[100] = { 0, };

	int n;
	int m;
	int i;

	scanf("%d %d", &n, &m);
	for (i = 0; i < m; i++) {
		scanf("%d", &arr[i]);
	}
	

	for (i = 0; i < m; i++) {
		printf("%d ", *((p = func(n, arr, m)) + arr[i]));
		printf("%d ", *((p = func(n, arr, m)) + arr[i] + 1));
	}

	free(p);
	
	return 0;
}

입력

출력

도움말

출처

[제출][채점 상황 열람]