#3.4 배열 연습문제 (수정)

Q1. data 배열의 짝수 번째 요소에 저장된 값을 합산하는 코드를 작성해 보아라.

내가 풀어낸 코드

#include <stdio.h>


short data[9] = { 4,6,9,8,7,2,5,1,3 };
int result, i = 0;

void main()

{
	for (i = 1;i < 9;i++) {
		if (i % 2 == 0) result = result + data[i];
		else result = result;
	} printf(" data 배열의 짝수 번째 요소에 저장된 값의 합은 %d", result);
}

정답

#include <stdio.h>


short data[9] = { 4,6,9,8,7,2,5,1,3 };
int result, i = 0;

void main()

{
	for (i = 0;i < 9;i=i+2) {
		result = result + data[i];
	} printf(" data 배열의 짝수 번째 요소에 저장된 값의 합은 %d\n", result);
}

다른 점 : 내 코드가 더 복잡했고, if문이 필요없는데 굳이 써서 만들었다는 점. i = 1로 시작했다는 점이 달랐고, 짝수 형태면 그냥 지표를 2씩 늘리는 (i=i+2)로 하면 간단하게 풀린다는 것을 알게 되었다.

Q2. data 배열의 각 요소에 저장된 값 중에서 가장 큰 값을 찾는 코드를 작성해 보아라.

#include <stdio.h>


int data[9] = { 4,6,9,8,7,2,5,1,3 };
int max, i = 0;

void main()

{
	for (i = 0;i < 9; i++) {

		if (max < data[i]) max = data[i];
		else max = max;
	} printf("data 배열의 각 요소에 저장된 값 중에서 가장 큰 값은 %d \n", max);
}

Q3. 정수를 오름차순으로 정렬하기

7개의 요소를 저장할 수 있는 data 배열이 있다. 이 배열에는 다음과 같이 7개의 숫자가 저장되어 있는데, 이 숫자들을 오름차순으로 정렬하는 소스 코드를 작성해보아라.

int data[7] = {6,3,9,7,2,4,1};

좋은 웹페이지 즐겨찾기