정보처리기사 실기C언어C - 구조체 배열과 typedef난이도 3SHORT_ANSWER

정보처리기사 실기 C - 구조체 배열과 typedef 기출문제 #3441

문제

다음 C 코드의 실행 결과를 쓰시오.

C
#include <stdio.h> typedef struct { char name[10]; int value; float ratio; } DataSet; int main() { DataSet data[4] = {{"A", 15, 1.5}, {"B", 25, 2.0}, {"C", 10, 0.8}, {"D", 20, 1.2}}; DataSet *ptr = &data[1]; int result = 0; for (int j = -1; j <= 2; j++) { if ((ptr + j)->value % 5 == 0 && (ptr + j)->ratio > 1.0) { result += (ptr + j)->value * (int)(ptr + j)->ratio; } } printf("%d", result); return 0; }

정답

85

85

해설

ptr은 data[1]을 가리킨다. 반복문에서 j가 -1, 0, 1, 2일 때 각각 data[0], data[1], data[2], data[3]을 확인한다.

  • data[0]: value=15, ratio=1.5 → 15 * (int)1.5 = 15 * 1 = 15
  • data[1]: value=25, ratio=2.0 → 25 * (int)2.0 = 25 * 2 = 50
  • data[2]: value=10, ratio=0.8 → ratio > 1.0 조건 불만족
  • data[3]: value=20, ratio=1.2 → 20 * (int)1.2 = 20 * 1 = 20 따라서 최종 결과는 15 + 50 + 20 = 85이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] C - 구조체 배열과 typedef C언어 기출 #3441 | sqldpass