카테고리 없음

C 4주차

2wjddls2 2026. 5. 17. 18:56
// 정수 배열 numbers의 모든 원소의 평균값을 반환
// solution 함수를 직접 정의하여 평균을 계산하고 반환


#include <stdio.h>

double solution(int* numbers, size_t numbers_len) {

    double sum = 0;             // 합계 저장 변수

    for (int i = 0; i < numbers_len; i++) {
        sum += numbers[i];      // 원소를 하나씩 더함
    }

    return sum / numbers_len;   // 평균 반환 <- 함수의 최종 결과
}


int main() {

    int nums1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int nums2[] = {89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99};

    size_t len1 = sizeof(nums1) / sizeof(nums1[0]); // 배열 길이 계산
    size_t len2 = sizeof(nums2) / sizeof(nums2[0]);

    // solution 함수 호출 → 반환값을 result에 저장
    double result1 = solution(nums1, len1);
    double result2 = solution(nums2, len2);

    printf("결과1: %.1f\n", result1);  // 기대값: 5.5
    printf("결과2: %.1f\n", result2);  // 기대값: 94.0

    return 0;
}

 

// 배열 num_list의 원소 순서를 거꾸로 뒤집은 배열을 반환

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int* solution(int num_list[], size_t num_list_len) {

    // 결과를 담을 새 배열을 동적 할당
    int* answer = (int*)malloc(num_list_len * sizeof(int));

    // 뒤에서부터 읽어서 앞에서부터 채우기
    for (int i = 0; i < num_list_len; i++) {
        answer[i] = num_list[num_list_len - 1 - i];  // 핵심 로직
    }

    return answer;  // 뒤집힌 배열 반환
}

 

 

// 문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 return하도록 solution 함수를 완성해주세요

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>  // strlen 사용을 위해 필요

int* solution(const char* strlist[], size_t strlist_len) {

    // 결과를 담을 새 배열을 동적 할당
    int* answer = (int*)malloc(strlist_len * sizeof(int));

    // 각 문자열의 길이를 순서대로 저장
    for (int i = 0; i < strlist_len; i++) {
        answer[i] = strlen(strlist[i]);  // 핵심: 문자열 길이 측정
    }

    return answer;
}