2-1. 학생 점수의 총점과 평균

문제설명

5명의 학생 점수를 배열에 저장하고 총점과 평균을 구하시오.

 

목표

  • 배열의 값을 반복문으로 처리
  • 누적합 계산

요구사항

  • 점수: {80, 75, 90, 100, 85}
  • 총점과 평균을 출력할 것
  • 평균은 소수 첫째 자리까지 출력할 것

출력예시

총점: 430
평균: 86.0

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int scores[5] = {80, 75, 90, 100, 85};
    int total = 0;
    double average;

    for (int i = 0; i < 5; i++) {
        total += scores[i];
    }

    average = (double)total / 5;

    printf("총점: %d", total);
    printf("평균: %.1f", average);

    return 0;
}

 

2-2. 가장 큰 값 찾기

 

문제설명

배열에 저장된 값 중 가장 큰 값을 찾아 출력하시오.

 

목표

  • 배열 탐색
  • 최댓값 비교

요구사항

  • 배열: {12, 35, 7, 48, 21}
  • 반복문을 이용해 최댓값을 구할 것

출력예시

가장 큰 값: 48

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int arr[5] = {12, 35, 7, 48, 21};
    int max = arr[0];

    for (int i = 1; i < 5; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
    }

    printf("가장 큰 값: %d", max);

    return 0;
}

 

2-3. 문자열 길이 직접 세기

 

문제설명

문자열 배열에 저장된 단어의 길이를 직접 세어 출력하시오.

 

목표

  • char 배열과 '\0' 활용
  • 문자열 끝까지 반복

요구사항

  • char word[] = "APPLE";
  • strlen()을 사용하지 말 것
  • 반복문으로 글자 수를 셀 것

출력예시

문자열 길이: 5

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    char word[] = "APPLE";
    int length = 0;

    while (word[length] != '\0') {
        length++;
    }

    printf("문자열 길이: %d", length);

    return 0;
}

 

2-4. 배열 뒤집기

 

문제설명

배열의 값을 거꾸로 출력하시오.

 

목표

  • 배열의 마지막 인덱스부터 접근
  • 배열 크기와 인덱스 계산 응용

요구사항

  • 배열: {10, 20, 30, 40, 50}
  • 반복문을 이용하여 뒤에서부터 출력할 것

출력예시

50 40 30 20 10

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int arr[5] = {10, 20, 30, 40, 50};

    for (int i = 4; i >= 0; i--) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

 

2-5. 중복 없는 숫자 개수 세기

 

문제설명

배열에 저장된 숫자들 중 서로 다른 숫자가 몇 개인지 구하시오.

예를 들어 {1, 2, 2, 3, 1, 4}에는 서로 다른 숫자가 4개 있다.

 

목표

  • 배열을 여러 번 탐색하는 중첩 반복문
  • 배열 비교 응용

요구사항

  • 배열: {1, 2, 2, 3, 1, 4}
  • 서로 다른 숫자의 개수를 출력할 것
  • 새로운 배열을 사용하지 말고 해결할 것

 

출력예시

서로 다른 숫자의 개수: 4

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int arr[6] = {1, 2, 2, 3, 1, 4};
    int count = 0;
    int is_duplicated;

    for (int i = 0; i < 6; i++) {
        is_duplicated = 0;

        for (int j = 0; j < i; j++) {
            if (arr[i] == arr[j]) {
                is_duplicated = 1;
                break;
            }
        }

        if (is_duplicated == 0) {
            count++;
        }
    }

    printf("서로 다른 숫자의 개수: %d", count);

    return 0;
}

+ Recent posts