본문 바로가기
C and C++/C and C++ Examples

[C Examples] 누가 시험을 잘봤을까#2 (exam highest, lowest, average): for loop, array, if statement, void)

by Henry Cho 2023. 9. 19.
728x90

누가 시험을 잘 봤을까#2 (exam highest, lowest, average): for loop, array, if statement, void)

포스트 난이도: HOO_Junior


# Example codes

이번 예제코드는 "누가 시험을 잘 봤을까" 포스트에 이은 두 번째 버전의 예제코드이다. for loop, array, if statement를  사용하고 있는 건 기존 포스트에 나와있는 코드와 동일하지만 void를 사용해서 코드 구조 자체를 바꾸어 보았다. 이처럼 반복적으로 사용하는 기능에 대해서는 void를 사용해서 main과 구분하여 사용이 가능하다. 처음 c 프로그래밍을 배우는 학생들에게 있어서 main에 모든 걸 다 쏟아 부는 게 훨씬 쉽고 간단하게 느껴진다는 걸 글쓴이도 백 퍼센트 이해하는 부분이다. 하지만 결국에 실무에서 코드를 작성하는 데 있어서 main에 모든 걸 나 작성할 수는 없기 때문에 void를 써보는 연습을 해보는 것이 좋다. 앞선 포스트에 대한 내용은 아래의 링크를 참고하면 되기에 두 가지 버전의 코드를 비교하여 void 사용에 익숙해져 보도록 하자.


누가 시험을 잘봤을까 (exam highest, lowest, average): for loop, array, if statement)

https://whoishoo.tistory.com/653


#include <stdio.h>

void exam(int score[], int *highest, int *lowest, float *total) {
    printf("\nList of exam grades: ");
    for (int i = 0; i < 10; i++) {
        printf("%d ", score[i]);

        if (score[i] < *lowest) {
            *lowest = score[i];
        }

        if (score[i] > *highest) {
            *highest = score[i];
        }

        *total += score[i];
    }
}

int main() {
    int score[] = { 70, 80, 90, 85, 50, 90, 95, 64, 65, 77 };
    int highest = score[0];
    int lowest = score[0];
    float total = 0;

    exam(score, &highest, &lowest, &total);

    float average = total / 10;

    printf("\n\nHighest exam score is: %d", highest);
    printf("\nLowest exam score is: %d", lowest);
    printf("\nClass average is: %.2f\n", average);

    return 0;
}

Figure 1. 예제코드 결과


# github link

[Temp]


 

728x90

댓글